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!