Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengendalikan Output os.system dalam Python secara Bijak?

Bagaimanakah Saya Boleh Mengendalikan Output os.system dalam Python secara Bijak?

Patricia Arquette
Patricia Arquetteasal
2024-11-28 06:34:13497semak imbas

How Can I Discreetly Handle the Output of os.system in Python?

Kendalikan Output os.system Secara Bersembunyi

Apabila melaksanakan arahan menggunakan os.system, output biasanya dipaparkan pada skrin. Walau bagaimanapun, terdapat situasi di mana anda ingin menetapkan output kepada pembolehubah dan menghalang penampilannya pada skrin.

Kod yang disediakan menunjukkan isu ini:

var = os.system("cat /etc/services")
print(var)

Daripada menangkap arahan output, var akan mengandungi 0, menunjukkan kejayaan pelaksanaan arahan. Untuk menyelesaikan masalah ini, pertimbangkan untuk menggunakan popen:

var = os.popen('cat /etc/services').read()

Seperti yang dicadangkan oleh dokumentasi untuk Python 3.6, subprocess.Popen menyediakan penyelesaian yang lebih mantap untuk mengurus subproses.

proc = subprocess.Popen(["cat", "/etc/services"], stdout=subprocess.PIPE, shell=True)
(out, err) = proc.communicate()
print("program output:", out)

Menggunakan subproses, anda boleh menangkap kedua-dua output standard dan strim ralat, seperti yang ditunjukkan dalam kod di atas.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan Output os.system dalam Python secara Bijak?. 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