mModule.__name__
导入时将有助于返回模块的名称。但是当作为脚本运行时,它(也会有用)返回
__main__
是否有一种简单的方法可以获取当前作为脚本运行的模块的文件名?
答案 0 :(得分:2)
我认为sys.argv[0]
是你最好的选择 - 它应该适用于任何模块,而不仅仅是主模块。
请注意,这可能是也可能不是完整路径,您必须测试"-c"
,空字符串,否则使用os.path.abspath
来获取完整路径。
答案 1 :(得分:0)
尝试__file__
。
要获得完整路径,
import os
print os.path.abspath(__file__)
答案 2 :(得分:0)
您可以使用__file__
:
__ file__是从中加载模块的文件的路径名,如果它是从文件加载的。
这包含绝对路径名,因此,为了获取脚本文件名,请使用:
import os
print os.path.basename(__file__)
__file__
在任何情况下都有效:文件作为脚本执行,文件作为模块导入。