是否只有重命名文件才有可能?或者文件中是否有__module__
变量来定义它的名称?
如果你真的要导入的文件"oldname.py"的发言"进口NEWNAME",还有一招,使得它可能:导入模块某处的旧名称,然后注射到sys.modules
使用新名称.后续的import语句也会在新名称下找到它.代码示例:
# this is in file 'oldname.py' ...module code...
用法:
# inject the 'oldname' module with a new name import oldname import sys sys.modules['newname'] = oldname
现在你可以随处使用你的模块了import newname
.
您可以使用as更改导入时用于模块的名称:
import foo as bar print bar.baz
是的,您应该重命名该文件.最好的做法是在你完成之后从系统中删除oldname.pyc
和oldname.pyo
编译文件(如果存在),否则模块也可以使用旧名称导入.