編集:おっと!質問に一致しないコードを誤って投稿してしまいました。実験が完了する前にこの投稿を書き始めたので、テスト プロセスの中間点からコードを投稿しました。この質問を修正して、コードを少し変更することで、実際に投稿するつもりだったものを反映させました。
次の Python コードは、1 つの問題で期待どおりに動作します。ファイルを正常に作成するために、基になる Perl スクリプトに対して output.stdout.read() を呼び出す必要があるのはなぜですか?
cmdStringList = ["perl","script.pl","arg1",...]
output = subprocess.Popen(cmdStringList,stdout=subprocess.PIPE)
if verbose:
print output.stdout.read()
実稼働環境で verbose=False を指定して Python スクリプトを実行しようとするまで、何か問題があることに気づきませんでした。Popen とサブプロセスの動作を理解するために google-fu を実行しましたが、この動作の理由はわかりませんでした。どんな助けでも大歓迎です。