os.execv PermissionError Errno13 权限被拒绝

os.execv PermissionError Errno13 Permission denied

我正在尝试 运行 递归地使用相同的程序,但参数不同。我是这样做的:

os.execv(file_dir, ['python'] + [sys.argv[0]] + [str(last_line)])
quit()

这是我从主函数调用的函数片段。 我尝试通过执行 chmod u+x program.py 来确保该文件可执行,但这没有用。可能是什么问题?

os.execv 期望可执行文件的 完整 路径作为第一个参数,而不是“文件目录”。

试试这个: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]])