如何确定在Python中导入哪个文件时带有“;进口;陈述

如何确定在Python中导入哪个文件时带有“;进口;陈述,python,import,Python,Import,如何确定在Python中使用“import”语句导入哪个文件 我想确定我正在加载本地修改的.py文件的正确版本。基本上相当于POSIX环境中的“which”。导入的模块有一个\uuuuuu文件字段,该字段是加载的文件。结合\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu,我定义了一个函数: which=lambda str:\uuuuu import\uuuuu(str)。\uuuu file\uuuu查看其\uuu file\uuuuuu属性。使用-v

如何确定在Python中使用“import”语句导入哪个文件


我想确定我正在加载本地修改的.py文件的正确版本。基本上相当于POSIX环境中的“which”。导入的模块有一个
\uuuuuu文件
字段,该字段是加载的文件。结合
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
,我定义了一个函数:


which=lambda str:\uuuuu import\uuuuu(str)。\uuuu file\uuuu
查看其
\uuu file\uuuuuu
属性。

使用
-v
参数启动python以启用调试输出。然后导入模块时,Python将打印出模块的导入位置:

$ python -v
...
>>> import re
# /usr/lib/python2.6/re.pyc matches /usr/lib/python2.6/re.py
import re # precompiled from /usr/lib/python2.6/re.pyc
...
如果您还想查看Python在其他地方搜索模块,请添加第二个
-v

$ python -v -v
...
>>> import re
# trying re.so
# trying remodule.so
# trying re.py
# trying re.pyc
# trying /usr/lib/python2.6/re.so
# trying /usr/lib/python2.6/remodule.so
# trying /usr/lib/python2.6/re.py
# /usr/lib/python2.6/re.pyc matches /usr/lib/python2.6/re.py
import re # precompiled from /usr/lib/python2.6/re.pyc
...

在每个模块中放置一个显式版本标识符

__version__ = "Some.version.String"
毫无例外,把这些放在你写的每个模块中

import someModule
print someModule.__version__

这是(a)明确的,(b)易于管理的。您还可以使用版本控制工具中的“关键字替换”在每次提交时为您实际填写版本字符串。

当您立即将lambda分配给变量时,您应该只使用def语句:
def which(str):return\uu import\uuu(str)。\uuu file\uuu
。是的,这绝对是最简单的方法。导入模块打印模块。\u文件__