Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menyalurkan Perintah dalam Modul `subproses` Python?

Bagaimana untuk Menyalurkan Perintah dalam Modul `subproses` Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-13 16:20:13272semak imbas

How to Pipe Commands in Python's `subprocess` Module?

Cara Menyalurkan Perintah Menggunakan subproses Python

Soalan: Bagaimanakah saya boleh menggunakan subprocess.check_output() dengan arahan paip seperti ps -A | grep 'process_name'?

Jawapan:

Menggunakan paip dengan modul subproses adalah mungkin, walaupun anda dinasihatkan untuk menggunakan shell=True dengan berhati-hati kerana kebimbangan keselamatan. Sebaliknya, pertimbangkan untuk mengasingkan proses ps dan grep serta memaipkan outputnya:

ps = subprocess.Popen(('ps', '-A'), stdout=subprocess.PIPE)
output = subprocess.check_output(('grep', 'process_name'), stdin=ps.stdout)
ps.wait()

Walau bagaimanapun, dalam kes khusus ini, penyelesaian yang lebih mudah ialah menggunakan subprocess.check_output(('ps', '-A') ) dan lakukan str.find pada output.

Atas ialah kandungan terperinci Bagaimana untuk Menyalurkan Perintah dalam Modul `subproses` 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