如何获取正在运行的Python脚本的名称?

如何获取正在运行的Python脚本的名称?,python,Python,如何获取正在运行的Python脚本的名称 我尝试了os.\uuu文件\uuuu,但它返回了os所在的文件名。sys.argv[0]应该为您提供脚本的名称 >> import os >> import sys >> print sys.argv[0] 或者如果您只需要脚本而不是完整路径 >> >> print os.path.basename(sys.argv[0]) 使用 真神奇 sys.path[0] 返回启动Python解释器

如何获取正在运行的Python脚本的名称


我尝试了
os.\uuu文件\uuuu
,但它返回了
os
所在的文件名。

sys.argv[0]
应该为您提供脚本的名称

>> import os
>> import sys
>> print sys.argv[0]
或者如果您只需要脚本而不是完整路径

>>
>> print os.path.basename(sys.argv[0])
使用

真神奇

sys.path[0]
返回启动Python解释器的脚本的路径


如果直接读取此脚本,它将返回脚本的路径。如果脚本是从另一个脚本导入的,它将返回该脚本的路径。

这取决于您所说的“正在运行的python脚本”是什么意思

\uuuu文件\uuuu
将为您提供当前正在执行的文件的名称。如果这是一个模块,您将获得它从何处导入的信息,例如blahblah.pyc

sys.argv[0]
将为您提供正在运行的脚本的名称,即使是从该脚本导入的模块中调用

请务必查找关于此主题的前面问题的答案(参见S.Lott对您的问题的评论)


这将打印正在运行的当前文件名

Duplicate:似乎是一个更好的副本。我没有否决投票,只是进行了测试。这给了我
K:/code/allRequirementsTests
,这是脚本的绝对路径,减去extensionUp,它可以工作(=1)@tehryan请接受这一点作为答案,以便帮助其他有相同问题的人我得到
NameError:name'\uuu file\uuuu'未定义
。您使用的是哪种Python实现?CPython还是别的什么?Python 2.7.3。我刚刚运行了“python”,然后
print\uuuuu file\uuuu
@bos我认为您无法从交互模式获得它,需要作为文件运行。
sys.path[0]
import __main__
print __main__.__file__