执行时更改argv[0';正在使用python脚本
我有两个python脚本,foo.py和bar.py foo.py:执行时更改argv[0';正在使用python脚本,python,process,exec,argv,Python,Process,Exec,Argv,我有两个python脚本,foo.py和bar.py foo.py: #!/usr/bin/env python os.execv('./bar.py', sys.argv) bar.py: #!/usr/bin/env python print(sys.argv) 当我调用foo.py时,我得到了输出 ['./bar.py'] 而不是 ['./foo.py'] 因为python解释器是从shebang派生出来的,并将argv[0]设置为bar.py,但我想在argv[0]中保留原始脚本
#!/usr/bin/env python
os.execv('./bar.py', sys.argv)
bar.py:
#!/usr/bin/env python
print(sys.argv)
当我调用foo.py
时,我得到了输出
['./bar.py']
而不是
['./foo.py']
因为python解释器是从shebang派生出来的,并将argv[0]
设置为bar.py
,但我想在argv[0]
中保留原始脚本的名称
在python中有这样做的方法吗?正如@Daniel Roseman所指出的,
execfile
似乎正是我想要的
抱歉,显然没有对此做足够的研究您真的需要将单独的文件作为子进程调用吗?您是否可以导入它,或者使用
execfile()
?可能重复的内容应该作为注释而不是答案发布。