相关疑难解决方法(0)

如何在Python中获取操作系统的argv [0](而不是sys.argv [0])?

我想在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

9
推荐指数
1
解决办法
712
查看次数

标签 统计

python ×1