【发布时间】:2010-11-29 20:17:26
【问题描述】:
如何获取正在运行的 Python 脚本的名称?
我尝试了os.__file__,但它返回了os 所在文件的名称。
【问题讨论】:
标签: python
如何获取正在运行的 Python 脚本的名称?
我尝试了os.__file__,但它返回了os 所在文件的名称。
【问题讨论】:
标签: python
import __main__
print __main__.__file__
这将打印当前正在运行的文件名
【讨论】:
sys.path[0]
返回启动 Python 解释器的脚本的路径。
如果你直接阅读这个脚本,它会返回脚本的路径。如果脚本是从另一个脚本导入的,它将返回该脚本的路径。
【讨论】:
K:/code/allRequirementsTests 这是脚本的绝对路径,减去扩展名
这取决于您所说的“正在运行的 Python 脚本”是什么意思。
__file__ 将为您提供当前执行文件的名称。如果那是一个模块,你会得到它的导入位置,例如blahblah.pyc
sys.argv[0] 将为您提供正在运行的脚本的名称,即使是从该脚本导入的模块调用。
请查看有关此主题的先前问题的答案(请参阅 S.Lott 对您的问题的评论)。
【讨论】:
使用
thisFile = __file__
太神奇了!
【讨论】:
NameError: name '__file__' is not defined。
print __file__。
>> import os
>> import sys
>> print sys.argv[0]
或者如果您只想要脚本而不是完整路径
>>
>> print os.path.basename(sys.argv[0])
【讨论】:
sys.argv[0] 应该给你脚本的名称。
【讨论】: