我在Python 3中编写了一个(有点)模块化的应用程序,我想从它运行任意程序,所述程序在运行时指定,不一定是python脚本。用subprocess.call使用shebang执行python脚本
于是我就用例如
subprocess.call([spam, "-i", eggs, "-o", ham])
如果spam
是一个Python脚本,用家当来python3
和可执行的权利,我得到
OSError: [Errno 8] Exec format error
如果我
subprocess.call(["python3", spam, "-i", eggs, "-o", ham])
它工作正常。
你知道为什么吗?如何在没有指定python3
的情况下运行spam
?
python脚本文件是否可执行? – jterrace
是的,它是可执行的。 – Evpok