2017-02-15 2 views
0

私は人がこれに似たようなことに対処したことは知っていますが、私はまだ混乱しています。Pythonからコマンドラインコマンドを実行しています

Windowsのコマンドラインで「Inventory.bat rap.t00z.awp236pgrbf00.grib2 rap.t00z.awp236pgrbf00 LoLa 25 48 33 -122 -83」というコマンドを実行します。

私の現在のPythonスクリプトは次のとおりです。

import subprocess 
subprocess.check_output(['Inventory.bat', 'rap.t00z.awp236pgrbf00.grib2 rap.t00z.awp236pgrbf00', 'LoLa', '25', '48', '33', '-122', '-83']) 

のPythonによって実行されたときにこれは動作しません。私は何が欠けていますか?

ありがとうございました!

答えて

0

Windowsでは、.batのファイルはcmdシェルで実行されます。シェルを使用するには、subprocess関数にshell=Trueオプションを含める必要があります。

subprocess.check_output(['Inventory.bat', 'rap.t00z.awp236pgrbf00.grib2 rap.t00z.awp236pgrbf00', 'LoLa', '25', '48', '33', '-122', '-83'], shell=True) 
+0

@Waterguyない 'subprocess'は、コマンドが終了するまで、それを返す前に待機することになって、確認してください。おそらくcmdシェル自体が何もせずに起動しているかもしれませんが、バッチファイルの最後に 'echo'を置くことで確認できます。もしそうなら、スーパーユーザまたは他の場所で尋ねる必要があります。 –

関連する問題