Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menangkap dan Menyimpan Output subproses.Panggilan Popen dalam Python dengan Cekap?
Menyimpan Output subproses.Panggilan Popen dalam Rentetan
Apabila cuba membuat panggilan sistem menggunakan Python, anda mungkin perlu menyimpan output untuk manipulasi kemudian. Walau bagaimanapun, menggunakan subproses.Popen sahaja tidak menyediakan kaedah mudah untuk menangkap output dalam rentetan.
Pendekatan Alternatif
Untuk menangani isu ini, pertimbangkan pilihan berikut :
Python 2.7 atau Python 3
Gunakan fungsi subprocess.check_output(), yang memudahkan pelaksanaan arahan dan tangkapan output:
from subprocess import check_output out = check_output(["ntpq", "-p"])
Python 2.4-2.6
Menggunakan kaedah komunikasi Popen objek:
import subprocess p = subprocess.Popen(["ntpq", "-p"], stdout=subprocess.PIPE) out, err = p.communicate()
Dalam kes ini, keluar akan mengandungi output yang diingini.
Nota pada Perintah Invocation
Apabila menggunakan Popen, nyatakan arahan sebagai senarai yang mengandungi arahan dan pilihan, cth., ["ntpq", "-p"]. Ini memastikan arahan ditafsirkan dengan betul, kerana Popen tidak menggunakan shell untuk pelaksanaan arahan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menangkap dan Menyimpan Output subproses.Panggilan Popen dalam Python dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!