Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah saya boleh mengalihkan output subproses ke fail dalam Python?

Bagaimanakah saya boleh mengalihkan output subproses ke fail dalam Python?

Linda Hamilton
Linda Hamiltonasal
2024-11-13 15:16:02757semak imbas

How can I redirect subprocess output to a file in Python?

Mengubah hala Output dalam Python dengan Subproses

Dalam Python, mengubah hala output ke fail menggunakan subproses boleh dicapai melalui argumen stdout apabila menggunakan subproses .run().

Pertimbangkan arahan baris arahan berikut:

cat file1 file2 file3 > myfile

Arahan ini menggabungkan kandungan fail "file1", "file2", dan "file3" dan mengarahkan output ke fail "myfile".

Untuk melaksanakan operasi analog dalam Python menggunakan subproses, ikut langkah berikut:

  1. Buat senarai argumen untuk panggilan subproses, termasuk arahan (cth., ['cat']) dan nama fail input.
  2. Buka fail yang anda ingin ubah hala keluaran ("myfile" dalam kes ini) dalam mod tulis.
  3. Ajak subprocess.run() dengan senarai argumen, nyatakan pemegang fail terbuka sebagai parameter stdout .

Contoh Kod (Python 3.5 ):

import subprocess

# Create a list of input file names
input_files = ['file1', 'file2', 'file3']

# Create the command argument list
my_cmd = ['cat'] + input_files

# Open the output file in write mode
with open('myfile', "w") as outfile:
    # Run the subprocess and redirect its output to the file
    subprocess.run(my_cmd, stdout=outfile)

Dengan mengikuti pendekatan ini, anda boleh mengubah hala keluaran subproses dengan berkesan ke fail tertentu.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengalihkan output subproses ke fail dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn