如何获取正在运行的Python脚本的名称?
我尝试os.__file__
,但会返回os
所在文件的名称。
答案 0 :(得分:19)
>> import os
>> import sys
>> print sys.argv[0]
或者如果您只想要脚本而不是完整路径
>>
>> print os.path.basename(sys.argv[0])
答案 1 :(得分:19)
使用
thisFile = __file__
这很神奇!
答案 2 :(得分:6)
这取决于“正在运行的python脚本”的含义。
__file__
将为您提供当前正在执行的文件的名称。如果这是一个模块,你将从它导入的位置,例如blahblah.pyc
sys.argv[0]
将为您提供正在运行的脚本的名称,即使从该脚本导入的模块调用也是如此。
请查看有关此主题的早期问题的答案(请参阅S.Lott对您的问题的评论)。
答案 3 :(得分:1)
sys.argv[0]
应该为您提供脚本的名称。
答案 4 :(得分:0)
import __main__
print __main__.__file__
这将打印正在运行的当前文件名
答案 5 :(得分:-1)
sys.path[0]
返回启动Python解释器的脚本的路径。
如果您直接阅读此脚本,它将返回脚本的路径。如果脚本是从另一个脚本导入的,则它将返回该脚本的路径。