如何获取正在运行的Python脚本的名称?
我尝试过使用 os.__file__
,但它返回的是os
模块所在文件的名称。
如何获取正在运行的Python脚本的名称?
我尝试过使用 os.__file__
,但它返回的是os
模块所在文件的名称。
>> import os
>> import sys
>> print sys.argv[0]
或者如果你只想要脚本而不是完整路径
>>
>> print os.path.basename(sys.argv[0])
使用
thisFile = __file__
这是魔法!
NameError: name '__file__' is not defined
的错误。 - bosprint __file__
。 - bos这取决于你对"运行中的Python脚本"的理解。
__file__
将会给你当前执行文件的名称。如果是一个模块,你会得到它被导入的位置,例如blahblah.pyc。
sys.argv[0]
将会给你正在运行的脚本的名称,即使是从导入了该脚本的模块中调用的。
请查阅关于此主题的早期问题的答案(参见S.Lott在你的问题上的评论)。
import __main__
print __main__.__file__
sys.argv[0]
应该给出脚本的名称。
sys.path[0]
返回启动Python解释器的脚本路径。
如果您直接读取此脚本,它将返回该脚本的路径。如果该脚本是从另一个脚本导入的,则会返回该脚本的路径。
K:/code/allRequirementsTests
,这是脚本的绝对路径,减去扩展名。 - Mawg says reinstate Monica