9
我想在Python程序中获得操作系统argv [0]的真实值。 Python的sys.argv [0]不是这个值:它是正在执行的Python脚本的名称(有一些例外)。我要的是一个foo.py当作为如何在Python中获得操作系统的argv [0](不是sys.argv [0])?
琐碎的程序
#! /usr/bin/env python
import sys
print sys.argv[0]
执行将打印 “foo.py” 而不是将打印 “somestring”。
有谁知道如何获得这个? Python C API中有一些相关的功能:例如Py_GetProgramName。但是这似乎并没有在任何地方暴露于Python世界。 Py_GetProgramFullPath不依赖于argv [0],而是试图获取Python解释器的路径。 (这个值传播到sys.executable,所以这个变量也是不正确的。)我真的必须编写一个C模块来获得这个值吗?
编辑:还问(但没有帮助回答)here。
这不是一个bash的bug,`exec`命令用另一个程序替换了shell。 – interjay 2011-02-01 21:08:08