新しいコマンドプロンプトを開き、実行可能ファイルを実行するスクリプトを作成しています。 os.system
を使用して作業コードを取得しました。 subprocess.Popen
に変換するのを手伝ってもらえますか?os.systemをsubprocess.Popenに変換する
hello_exe = r'c:\hello.exe'
os.system("start cmd /k {}".format(hello_exe))
私は、ユーザーがコマンド・プロンプトを表示したいので、バックグラウンド・プロセスとしてhello_exe
を実行し、ログをスクロールすることはできませんすることができます。どんな助けもありがとうございます。ありがとう。
私の環境:Windows8とPythonはsubprocess.Popen
への変換は、このようなものです2.7.12
使用 'subprocess.call( 'cmd.exeの/ K "{}"' フォーマット(hello_exe)、creationflags = subprocess.CREATE_NEW_CONSOLE)'。 'cmd.exe/k'の唯一の目的は、hello.exeが終了した後にプロセスをコンソールに接続したままにすることです。そうでなければ必須ではなく、新しいコンソールを割り当てることとは関係ありません。 hello.exeが終了した後にコンソールを閉じることが大丈夫ならば、残しておいてください。 – eryksun
答えをありがとう。しかし、hello_exeは無制限に実行されるプログラムであるため、直接使用することはできません(ユーザが終了した場合、またはPythonスクリプトで終了した場合にのみ終了します)。そして私はsubprocess.call()が私のスクリプトをブロックしないようにしたい。私は.Popenに.callを変更し、私が望む仕事をしました。おかげで、あなたのcreationflagsは私が文書で見つけることができない魔法をしました – paulp