如何显示当前正在运行的Python模块的路径?

11

如何显示当前运行的Python模块的路径?
如果bla.py文件位于/Users/user/documents/python/目录下,则会打印出/Users/user/documents/python/bla.py

2个回答

14

如果您希望一个模块即使被导入也知道自己所在的位置,您应该可以使用:

import sys

sys.modules[__name__].__file__

我知道这包括了在我的 Linux 系统上的绝对路径,但我听说在 Windows 上不是这样。


它甚至在Linux系统上也不包含绝对路径。已在Debian Linux 6上进行测试。 - Tyler Liu
@Tyler 奇怪。我在发布这个答案的时候正在运行Ubuntu 10.04。感谢你提醒。 - aaronasterling

8
import os
print os.path.abspath(__file__)

2
需要注意的是,这仅适用于与启动程序执行的文件位于同一目录中的文件。 - aaronasterling
@aaron 你说得对,我认为这应该符合 OP 所要求的。 - systempuntoout

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接