我试图递归地运行相同的程序,但参数不同。我正在这样做:
os.execv(file_dir, ['python'] + [sys.argv[0]] + [str(last_line)])
quit()
这是我从主函数调用的函数的摘要。
我尝试通过执行chmod u+x program.py
确保该文件可执行,但这没有用。问题可能是什么?
答案 0 :(得分:1)
os.execv
将可执行文件的 full 路径作为第一个参数,而不是“文件目录”。
尝试以下操作:os.execv(sys.executable, ['python'] + [sys.argv[0]] + [str(last_line)])
通过调用相同的可执行文件来实现示例yes
:
import sys
import os
print('y')
os.execv(sys.executable, ['python'] + [sys.argv[0]])