重用标准函数/类/模块/软件包的名称从来都不是一个好主意。尽量避免它。但是,有适合您情况的干净解决方法。
您看到的行为是导入
SWS.time而不是stdlib的行为
time,这是由于
import古代python版本(2.x)的语义所致。要解决此问题,请添加:
from __future__ import absolute_import
在文件的最顶部。这会将
importpython3.x的语义更改为更有意义。在这种情况下,语句:
import time
将仅引用顶级模块。因此,解释器在执行包内的导入时将 不 考虑您的
SWS.time模块,而只会使用标准库之一。
如果一个模块 内的 软件包需要输入
SWS.time你的选择:
使用 显式 相对导入:
from . import time
使用绝对导入:
import SWS.time as time
因此,您
foo.py将像:
from __future__ import absolute_importimport timefrom . import time as SWS_time
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)