Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menyalurkan Perintah Dengan Betul Menggunakan Modul `subproses` Python?

Bagaimana untuk Menyalurkan Perintah Dengan Betul Menggunakan Modul `subproses` Python?

Patricia Arquette
Lepaskan: 2024-12-18 06:55:15
asal
409 orang telah melayarinya

How to Properly Pipe Commands Using Python's `subprocess` Module?

Cara Menggunakan Paip dengan Perintah subproses

Apabila bekerja dengan modul subproses, mungkin timbul senario di mana anda perlu menggunakan paip untuk sambungkan berbilang arahan. Soalan ini meneroka cabaran menggunakan subprocess.check_output() dengan arahan berikut:

ps -A | grep 'process_name'
Salin selepas log masuk

Jawapan

Untuk menggunakan paip dengan subproses, shell=True hujah boleh digunakan. Walau bagaimanapun, menggunakan shell=True menimbulkan kebimbangan keselamatan dan harus didekati dengan berhati-hati. Pendekatan yang lebih baik melibatkan mencipta proses ps dan grep secara berasingan dan menyalurkan output dari satu ke yang lain:

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

Dalam senario khusus yang disebutkan, penyelesaian yang lebih mudah adalah dengan menggunakan subprocess.check_output(('ps ', '-A')) dan gunakan str.find pada output.

Atas ialah kandungan terperinci Bagaimana untuk Menyalurkan Perintah Dengan Betul Menggunakan Modul `subproses` Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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