私はPython3で(ある程度)モジュラーアプリケーションを作成していて、そこから任意のプログラムを実行したいと思っています。このプログラムは実行時に指定され、必ずしも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])
それはうまくいきます。
なぜなのかご存知ですか?spam
指定せずに実行するにはどうすればよいpython3
ですか?