Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengalihkan Keluaran dengan Subproses dalam Python?

Bagaimana untuk Mengalihkan Keluaran dengan Subproses dalam Python?

Patricia Arquette
Lepaskan: 2024-11-17 18:20:02
asal
250 orang telah melayarinya

How to Redirect Output with Subprocess in Python?

Mengubah hala Output dengan Subproses dalam Python

Apabila melaksanakan arahan shell dalam Python menggunakan modul subproses, adalah penting untuk mengetahui cara mengubah hala output. Satu senario biasa ialah mengubah hala keluaran standard arahan ke dalam fail. Artikel ini menangani keperluan ini dengan meneroka pendekatan Python untuk mencapai pengalihan keluaran.

Dalam coretan kod Python yang disediakan, pengguna cuba menggunakan subprocess.call untuk mengubah hala output perintah kucing kepada fail dengan memisahkan arahan menjadi hujah menggunakan shlex. Walau bagaimanapun, output masih dipaparkan dalam konsol.

Untuk mengubah hala output dengan betul dalam Python 3.5 dan lebih baru, argumen stdout subprocess.run boleh digunakan. Argumen ini menerima pemegang fail terbuka sebagai nilainya, yang mana output akan diarahkan. Berikut ialah contoh:

# Use a list of args instead of a string
input_files = ['file1', 'file2', 'file3']
my_cmd = ['cat'] + input_files
with open('myfile', "w") as outfile:
    subprocess.run(my_cmd, stdout=outfile)
Salin selepas log masuk

Dalam kod ini, arahan yang akan dilaksanakan dipecahkan kepada senarai argumen dan output dihalakan semula ke fail bernama 'myfile'. Pernyataan dengan memastikan bahawa fail dibuka, ditulis dan ditutup dengan betul.

Perlu diingat bahawa menggunakan perintah luaran seperti cat untuk tujuan ini adalah tidak perlu. Python mempunyai fungsi terbina dalam untuk membaca dan menulis fail, yang boleh digunakan secara langsung:

with open('myfile', "w") as outfile:
    outfile.write(open('file1').read())
    outfile.write(open('file2').read())
    outfile.write(open('file3').read())
Salin selepas log masuk

Dengan memahami cara mengubah hala output dengan subproses dengan betul atau menggunakan keupayaan pengendalian fail Python, anda boleh menguruskan aliran maklumat dalam skrip Python anda.

Atas ialah kandungan terperinci Bagaimana untuk Mengalihkan Keluaran dengan Subproses dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan