0
mModule.__name__

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

 __main__

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

4

3 回答 3

2

我认为这sys.argv[0]是你最好的选择 - 它应该适用于任何模块,而不仅仅是主模块。

请注意,这可能是也可能不是完整路径,您必须测试"-c"空字符串,否则用于os.path.abspath获取完整路径。

于 2013-09-01T18:55:50.053 回答
0

试试__file__

要获得完整路径,

import os 
print os.path.abspath(__file__)
于 2013-09-01T18:59:12.950 回答
0

您可以使用__file__

__file__ 是加载模块的文件的路径名,如果它是从文件加载的。

这包含一个绝对路径名,因此,为了获取脚本文件名,请使用:

import os
print os.path.basename(__file__)

__file__在任何情况下都有效:文件作为脚本执行,文件作为模块导入。

于 2013-09-01T18:59:33.173 回答