当模块名称相同时导入 Python 包

2024-09-28 03:21:24 发布

您现在位置:Python中文网/ 问答频道 /正文

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

import time

def sleep(n):
    time.sleep(n)

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

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


Tags: 模块函数import名称timedefas错误
3条回答

发生的是您的time模块正在跟踪系统time模块。解决这个问题最简单的方法是将模块重命名为time之外的其他名称。在

添加from __future__ import absolute_import作为文件的第一行。在

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

我会读http://docs.python.org/whatsnew/2.5.html#pep-328-absolute-and-relative-imports,然后使用from __future__ import absolute_import。在

高温

相关问题 更多 >

    热门问题