在python中,我可以找到正在执行的脚本的文件名,而不是__main__吗?

时间:2013-09-01 18:54:05

标签: python

mModule.__name__

导入时将有助于返回模块的名称。但是当作为脚本运行时,它(也会有用)返回

 __main__

是否有一种简单的方法可以获取当前作为脚本运行的模块的文件名?

3 个答案:

答案 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__在任何情况下都有效:文件作为脚本执行,文件作为模块导入。