0

Popen を介して新しいプロセスを開始する Python ファイルがあります。Python コードは、この新しいプロセスが完了するまで待ってから、コードを再開する必要があります。ただし、Python が開始するプロセスは、別の cmd.exe ウィンドウも生成します。このウィンドウは何らかの作業を行いますが、完了後も開いたままになります。Python が開始するプロセスは完了後に閉じますが、cmd.exe のウィンドウが開いたままになっているため、Python プログラムが続行されません。この滞在ウィンドウを閉じる最良の方法は何ですか?

popen の呼び出しは次のとおりです。

p = Popen(command, stdout=PIPE, stderr=STDOUT, stdin=PIPE)

コマンドは別の python ファイルを実行しています。後で grep_stdout を介して新しいプロセスと通信するため、p に等しく設定します。

4

1 に答える 1

2

これは、pythonw.exe代わりにpython.exe2番目のスクリプトを実行することで解決できます。スクリプトを直接実行している場合(インタプリタを自分で呼び出すのではなく)、デフォルト.pywで関連付けられているファイル拡張子に名前を変更する必要がありpythonw.exeます。

WindowsでのPythonファイルの実行の詳細については、Pythonドキュメントのこのセクションを参照してください。

于 2012-12-04T22:48:44.213 に答える