模块同名时导入python包

yee*_*379 4 python namespaces module

我有一个模块blah.time,我在正常的时间和日期操作周围进行一些健全性检查和包装函数:

import time

def sleep(n):
    time.sleep(n)
Run Code Online (Sandbox Code Playgroud)

当我调用时sleep,它只会抛出一个最大的递归错误.我猜测命名空间是错误的,所以我尝试使用import time as _time,但我仍然得到相同的错误.

如何time从我自己的模块中引用系统模块以防止此命名空间冲突?

Win*_*ert 14

添加from __future__ import absolute_import为文件中的第一行.

这将强制所有进口绝对而不是相对.因此,import time将导入标准模块,以导入您使用的本地模块from . import foobar