外部プログラムを実行する必要がある Python スクリプトがありますが、何らかの理由で失敗します。
次のスクリプトがあるとします。
import os;
os.system("C:\\Temp\\a b c\\Notepad.exe");
raw_input();
その後、次のエラーで失敗します。
「C:\Temp\a」は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。
引用符でプログラムをエスケープすると:
import os;
os.system('"C:\\Temp\\a b c\\Notepad.exe"');
raw_input();
その後、動作します。ただし、パラメーターを追加すると、再び機能しなくなります。
import os;
os.system('"C:\\Temp\\a b c\\Notepad.exe" "C:\\test.txt"');
raw_input();
プログラムを実行して完了するのを待つ正しい方法は何ですか? 出力を読み取る必要はありません。これは、ジョブを実行して終了するビジュアル プログラムであるためです。ただし、完了するまで待つ必要があります。
また、プログラムを間隔のないパスに移動することもオプションではありません。
これも機能しません:
import os;
os.system("'C:\\Temp\\a b c\\Notepad.exe'");
raw_input();
一重引用符と二重引用符が入れ替わっていることに注意してください。
ここでメモ帳へのパラメーターの有無にかかわらず、エラーメッセージで失敗します
ファイル名、ディレクトリ名、またはボリューム ラベルの構文が正しくありません。