我想在Python程序中获得操作系统的argv [0]的真正价值.Python的sys.argv [0]不是这个值:它是正在执行的Python脚本的名称(有一些例外).我想要的是一个foo.py,它会在执行时打印"somestring"
exec -a "somestring" python foo.py
Run Code Online (Sandbox Code Playgroud)
琐碎的计划
#! /usr/bin/env python
import sys
print sys.argv[0]
Run Code Online (Sandbox Code Playgroud)
将打印"foo.py"而不是.
有谁知道如何获得这个?Python C API中有一些相关的函数:例如Py_GetProgramName.但这似乎并没有暴露在Python世界的任何地方.Py_GetProgramFullPath使用argv [0],但是它试图获取Python解释器的路径.(此值传播到sys.executable,因此该变量也不正确.)我是否真的必须编写C模块才能获得此值?
编辑:同时要求(但不帮忙,回答)在这里.
python ×1