5

私のプログラムには、関数runScript()があります。

def runScript():
subprocess.call(['echo', 'hello'])

Pythonのドキュメントで同様の例をたくさん見たので、これでうまくいくと思いました。ただし、プログラムでこの関数を呼び出すと、WindowsErrorが返されます。

WindowsError: [Error 2] The system cannot find the file specified

なぜこれが起こるのですか?どうすれば修正できますか?

4

1 に答える 1

12

このechoコマンドは、Windows シェルに組み込まれていますcmd.exe。シェルなしで呼び出すことができる外部プログラムではありません。したがって、指定するsubprocess.call()必要がありますshell=True

subprocess.call('echo hello', shell=True)

(また、シェルがコマンドの分割を処理するので、コマンドを渡す単純な単一文字列スタイルを使用しました。)

于 2012-06-07T14:02:54.203 に答える