执行时更改argv[0';正在使用python脚本

执行时更改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]中保留原始脚本

我有两个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]
中保留原始脚本的名称


在python中有这样做的方法吗?

正如@Daniel Roseman所指出的,
execfile
似乎正是我想要的


抱歉,显然没有对此做足够的研究

您真的需要将单独的文件作为子进程调用吗?您是否可以导入它,或者使用
execfile()
?可能重复的内容应该作为注释而不是答案发布。