2

os.start(path)バッチ ファイル を開始 () し、終了するまで待機する簡単な python スクリプトを作成しましたos.spawnv(os.P_WAIT,bat,())

問題は、例外がスローされることです。

「exceptions.EOFError:[Errno 10054] 既存の接続がリモート ホストによって強制的に閉じられました」

スクリプトは Windows 7 64 ビットで実行されており、バッチ ファイルには cd.. のような単純なコマンドが含まれています。

コード:

import os
bat = r'C:\new folder\start.bat'
os.spawnv(os.P_WAIT,bat,())
print "ok"

助言がありますか?

4

1 に答える 1

1

Windows でバッチ ファイルを実行するには、次のようなコマンド ラインをシミュレートするために、引数を使用して何かos.spawn()を実行する必要があります。subprocess.call()

cmd.exe /c "C:\new folder\start.bat"

への/c引数cmd.exeは、指定されたコマンドを実行して終了するように指示します。上記のように、スペース文字が埋め込まれたパスを二重引用符で囲む必要もあります。

于 2012-09-23T17:31:05.013 に答える