我在Python中有一个实用程序模块,它需要知道正在使用它的应用程序的名称。实际上,这意味着启动应用程序时调用的顶级python脚本的名称(即__name=="__main__“将为true的脚本)。__name__提供了当前python文件的名称,但是如何获取调用链中最顶层文件的名称呢?
发布于 2013-05-10 12:17:20
将我的Google查询切换为“如何从python中找到进程名”,而不是如何找到“顶级脚本名”,我找到了this overly thorough treatment of the topic。其摘要如下:
import __main__
import os
appName = os.path.basename(__main__.__file__).strip(".py")发布于 2013-05-10 11:45:23
为此,您可以使用inspect模块。例如:
a.py
#!/usr/bin/python
import bb.py
#!/usr/bin/python
import inspect
print inspect.stack()[-1][1]运行python b.py将打印b.py。运行python a.py将打印a.py。
然而,我想附和sys.argv[0]的建议,因为它是一个更明智和更地道的建议。
https://stackoverflow.com/questions/16474700
复制相似问题