Python のサブプロセスによる出力のリダイレクト
このスニペットでは、複数のファイルの内容を 1 つに結合するコマンドを実行することを目的としています。 Python のサブプロセス モジュールを使用してファイルを作成します。私たちの目標は、コマンドの出力をコンソールに表示せずにファイルにリダイレクトすることです。
Python 3.5 では、開いているファイル ハンドルを subprocess.run の stdout 引数に渡すことで、このリダイレクトを実現できます。
input_files = ['file1', 'file2', 'file3'] my_cmd = ['cat'] + input_files with open('myfile', "w") as outfile: subprocess.run(my_cmd, stdout=outfile)
with ブロックは、操作後に「myfile」ファイルが適切に閉じられることを保証します。 subprocess.run 関数はコマンドを実行し、出力を指定されたファイルにリダイレクトします。
このタスクには cat などの外部コマンドを使用する必要がないことに注意してください。ファイルを読み取って、その内容を Python プログラム内で連結するだけです。
以上がPython で subprocess.run を使用してコマンド出力をファイルにリダイレクトする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。