如何更改Python模块名称?

Rod*_*igo 6 python module

是否只有重命名文件才有可能?或者文件中是否有__module__变量来定义它的名称?

the*_*ler 22

如果你真的要导入的文件"oldname.py"的发言"进口NEWNAME",还有一招,使得它可能:导入模块某处的旧名称,然后注射到sys.modules使用新名称.后续的import语句也会在新名称下找到它.代码示例:

# this is in file 'oldname.py'
...module code...
Run Code Online (Sandbox Code Playgroud)

用法:

# inject the 'oldname' module with a new name
import oldname
import sys
sys.modules['newname'] = oldname
Run Code Online (Sandbox Code Playgroud)

现在你可以随处使用你的模块了import newname.


Ign*_*ams 13

您可以使用as更改导入时用于模块的名称:

import foo as bar
print bar.baz
Run Code Online (Sandbox Code Playgroud)


the*_*ler 9

是的,您应该重命名该文件.最好的做法是在你完成之后从系统中删除oldname.pycoldname.pyo编译文件(如果存在),否则模块也可以使用旧名称导入.