我正在使用Python 3编写一个(有点)模块化的应用程序,希望能够从中运行任意程序,该程序在运行时指定,不一定是Python脚本。
例如,我可以使用以下代码:
subprocess.call([spam, "-i", eggs, "-o", ham])
如果
spam
是一个带有shebang到python3
和可执行权限的python脚本,我会得到OSError: [Errno 8] Exec format error
如果我
subprocess.call(["python3", spam, "-i", eggs, "-o", ham])
它运行良好。
你知道为什么吗?我如何在不指定 python3
的情况下运行 spam
?