首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取python中最顶层(入口)脚本的名称?

问如何获取python中最顶层(入口)脚本的名称?
EN

Stack Overflow用户
提问于 2013-05-10 11:26:25
回答 2查看 2.3K关注 0票数 4

我在Python中有一个实用程序模块,它需要知道正在使用它的应用程序的名称。实际上,这意味着启动应用程序时调用的顶级python脚本的名称(即__name=="__main__“将为true的脚本)。__name__提供了当前python文件的名称,但是如何获取调用链中最顶层文件的名称呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-10 12:17:20

将我的Google查询切换为“如何从python中找到进程名”,而不是如何找到“顶级脚本名”,我找到了this overly thorough treatment of the topic。其摘要如下:

代码语言:javascript
复制
import __main__
import os

appName = os.path.basename(__main__.__file__).strip(".py")
票数 6
EN

Stack Overflow用户

发布于 2013-05-10 11:45:23

为此,您可以使用inspect模块。例如:

a.py

代码语言:javascript
复制
#!/usr/bin/python

import b

b.py

代码语言:javascript
复制
#!/usr/bin/python

import inspect

print inspect.stack()[-1][1]

运行python b.py将打印b.py。运行python a.py将打印a.py。

然而,我想附和sys.argv[0]的建议,因为它是一个更明智和更地道的建议。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16474700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档