我在Python中有一个实用程序模块,需要知道它正在使用的应用程序的名称。有效地,这意味着调用启动应用程序的顶级python脚本的名称(即__name ==“__ main__”将是真实的)。 __name__给出了当前python文件的名称,但是如何获取调用链中最顶层的名称?如何获取python中最顶层(入口)脚本的名称?
0
A
回答
4
把我的Google查询切换到“如何从python中找到进程名称”与如何查找“顶级脚本名称”相比,我找到了this overly thorough treatment of the topic。总结如下:
import __main__
import os
appName = os.path.basename(__main__.__file__).strip(".py")
+0
在某些情况下,strip部分不太正确:''pretend_example_silly.py“.strip(”.py“)'给出''retend_example_sill”'。 'os.path.basename(__ main __.__ file __)。split(“。”)[0]'可能是一个更好的启发式 – FredL 2015-12-01 15:54:40
1
您可以使用inspect
这个模块。例如:
a.py:
#!/usr/bin/python
import b
b.py:
#!/usr/bin/python
import inspect
print inspect.stack()[-1][1]
运行python b.py
打印b.py
。运行python a.py
打印a.py
。
但是,我想第二个sys.argv[0]
的建议作为一个更明智和惯用的建议。
相关问题
- 1. Python获取焦点入口名称
- 2. 如何获取窗口名称? [Python]
- 3. 如何在Python中获取当前活动窗口的名称?
- 4. 在Powershell中获取脚本名称
- 5. 如何使窗口绝对最顶层?
- 6. 如何为Tk顶层窗口路径生成唯一名称?
- 7. 如何获取调用bash脚本的别名名称
- 8. 如何获取从中调用脚本的页面名称
- 9. 使用Java代码获取最顶层程序的实际名称
- 10. C#最顶层窗口
- 11. 如何在php脚本中获取表单名称?
- 12. 获取最顶层的父目录在Python
- 13. 如何获取传递给Python脚本的数据的源名称?
- 14. 如何获取正在运行的Perl脚本的名称
- 15. 如何在python中通过数字获取顶级protobuf枚举值的名称?
- 16. Python,Quandl:ImportError:无法导入名称获取
- 17. python脚本的管道名称到python
- 18. 如何从Mysql中的分层数据获取位置名称?
- 19. 如何从R和Igraph中的名称顶点获取id顶点?
- 20. 如何从python中的URL获取域名(名称+ TLD)
- 21. Python中获取cron脚本
- 22. 如何从gdb中获取输入(使用python脚本)
- 23. 如何获得最内层的目录名称
- 24. 在BASH脚本中获取git repo名称和github用户名?
- 25. 获取最长名称
- 26. 如何在Google脚本中读取json中的属性名称
- 27. 获取顶点包前缀名称?
- 28. 如何获取C#中的开放端口的进程名称?
- 29. 插图脚本:如何打印图层名称?
- 30. 获取文件输入到Python脚本的praw脚本
'sys.argv [0]'也许? – 2013-05-10 03:26:51