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

13 投票
6 回答
20983 浏览
提问于 2025-04-15 14:27

我该怎么获取正在运行的Python脚本的名字呢?

我试过用 os.__file__,但是这个返回的是 os 这个模块所在文件的名字。

6 个回答

11

这要看你说的“正在运行的Python脚本”是什么意思。

__file__会告诉你当前正在执行的文件名。如果这个文件是一个模块,你会看到它是从哪里被导入的,比如说blahblah.pyc。

sys.argv[0]会告诉你正在运行的脚本的名字,即使这个脚本是从一个它导入的模块中调用的。

请查看之前关于这个话题的问题的答案(可以看看S.Lott对你问题的评论)。

24

使用

thisFile = __file__

这真是太神奇了!

24
>> import os
>> import sys
>> print sys.argv[0]
>>
>> print os.path.basename(sys.argv[0])

或者如果你只想要脚本,而不是完整的路径

撰写回答