Pertanyaan yang diberi tag «subprocess»

Modul subproses Python memungkinkan Anda untuk menelurkan proses baru, menghubungkan ke pipa input / output / error, dan mendapatkan kode pengembaliannya. Gunakan itu untuk menjalankan perintah shell atau yang dapat dieksekusi dengan Python.


16
Menjalankan perintah shell dan menangkap output
Saya ingin menulis fungsi yang akan menjalankan perintah shell dan mengembalikan hasilnya sebagai string , tidak peduli, apakah itu pesan kesalahan atau sukses. Saya hanya ingin mendapatkan hasil yang sama dengan yang saya dapatkan dengan baris perintah. Apa yang akan menjadi contoh kode yang akan melakukan hal seperti itu? Sebagai …
909 python  shell  subprocess 

30
Baca non-blocking pada sebuah subprocess.PIPE dengan python
Saya menggunakan modul subproses untuk memulai subproses dan terhubung ke aliran output (stdout). Saya ingin dapat menjalankan bacaan non-pemblokiran di stdout-nya. Apakah ada cara untuk membuat .readline tanpa pemblokiran atau untuk memeriksa apakah ada data di aliran sebelum saya memohon .readline? Saya ingin ini portabel atau setidaknya berfungsi di Windows …

29
Menggunakan modul 'subproses' dengan batas waktu
На этот вопрос есть ответы на Stack Overflow на русском : Прерывание процесса и задержка на исполнение Berikut kode Python untuk menjalankan perintah sewenang-wenang mengembalikan stdoutdatanya, atau meningkatkan pengecualian pada kode keluar non-nol: proc = subprocess.Popen( cmd, stderr=subprocess.STDOUT, # Merge stdout and stderr stdout=subprocess.PIPE, shell=True) communicate digunakan untuk menunggu proses …

11
Cara mengakhiri subproses python diluncurkan dengan shell = True
Saya meluncurkan subproses dengan perintah berikut: p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True) Namun, ketika saya mencoba membunuh menggunakan: p.terminate() atau p.kill() Perintah terus berjalan di latar belakang, jadi saya bertanya-tanya bagaimana saya bisa benar-benar menghentikan proses. Perhatikan bahwa ketika saya menjalankan perintah dengan: p = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE) Itu berhasil berakhir ketika …

15
Menyimpan output dari subproses. Buka panggilan dalam sebuah string
Saya mencoba membuat panggilan sistem dengan Python dan menyimpan output ke string yang dapat saya manipulasi dalam program Python. #!/usr/bin/python import subprocess p2 = subprocess.Popen("ntpq -p") Saya sudah mencoba beberapa hal termasuk beberapa saran di sini: Mengambil output dari subprocess.call () tetapi tanpa keberuntungan.
300 python  subprocess 

8
Subproses Python / Popen dengan lingkungan yang dimodifikasi
Saya percaya bahwa menjalankan perintah eksternal dengan lingkungan yang sedikit dimodifikasi adalah kasus yang sangat umum. Begitulah cara saya cenderung melakukannya: import subprocess, os my_env = os.environ my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"] subprocess.Popen(my_command, env=my_env) Saya punya firasat bahwa ada cara yang lebih baik; apakah ini terlihat baik-baik saja?
284 python  subprocess  popen 

5
Cara menyembunyikan output dari subproses di Python 2.7
Saya menggunakan eSpeak di Ubuntu dan memiliki skrip Python 2.7 yang mencetak dan mengucapkan pesan: import subprocess text = 'Hello World.' print text subprocess.call(['espeak', text]) eSpeak menghasilkan suara yang diinginkan, tetapi mengacaukan shell dengan beberapa kesalahan (ALSA lib ..., tidak ada soket terhubung) sehingga saya tidak dapat dengan mudah membaca …

11
Bagaimana cara mengirim string ke subprocess.Popen (menggunakan argumen stdin)?
Jika saya melakukan hal berikut: import subprocess from cStringIO import StringIO subprocess.Popen(['grep','f'],stdout=subprocess.PIPE,stdin=StringIO('one\ntwo\nthree\nfour\nfive\nsix\n')).communicate()[0] Saya mendapat: Traceback (most recent call last): File "<stdin>", line 1, in ? File "/build/toolchain/mac32/python-2.4.3/lib/python2.4/subprocess.py", line 533, in __init__ (p2cread, p2cwrite, File "/build/toolchain/mac32/python-2.4.3/lib/python2.4/subprocess.py", line 830, in _get_handles p2cread = stdin.fileno() AttributeError: 'cStringIO.StringI' object has no attribute 'fileno' Rupanya …
280 python  subprocess  stdin 

5
Arti sebenarnya dari 'shell = True' dalam subproses
Saya memanggil berbagai proses dengan subprocessmodul. Namun, saya punya pertanyaan. Dalam kode berikut: callProcess = subprocess.Popen(['ls', '-l'], shell=True) dan callProcess = subprocess.Popen(['ls', '-l']) # without shell Keduanya bekerja. Setelah membaca dokumen, saya jadi tahu itu shell=Trueberarti mengeksekusi kode melalui shell. Jadi itu berarti saat tidak ada, prosesnya langsung dimulai. Jadi …
260 python  subprocess 


9
baca subproses stdout baris demi baris
Skrip python saya menggunakan subproses untuk memanggil utilitas linux yang sangat bising. Saya ingin menyimpan semua output ke file log dan menunjukkan sebagian kepada pengguna. Saya pikir yang berikut ini akan berfungsi, tetapi output tidak muncul di aplikasi saya sampai utilitas telah menghasilkan sejumlah besar output. #fake_utility.py, just generates lots …
235 python  subprocess 

13
Mencetak output Subprocess secara konstan saat proses sedang berjalan
Untuk meluncurkan program dari skrip Python saya, saya menggunakan metode berikut: def execute(command): process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) output = process.communicate()[0] exitCode = process.returncode if (exitCode == 0): return output else: raise ProcessException(command, exitCode, output) Jadi ketika saya meluncurkan proses seperti Process.execute("mvn clean install"), program saya menunggu sampai proses …
202 python  subprocess 

1
Bagaimana saya bisa menentukan direktori kerja untuk popen
Apakah ada cara untuk menentukan direktori perintah yang sedang berjalan di Python subprocess.Popen()? Sebagai contoh: Popen('c:\mytool\tool.exe', workingdir='d:\test\local') Skrip Python saya terletak di C:\programs\python Apakah mungkin dijalankan C:\mytool\tool.exedi direktori D:\test\local? Bagaimana cara mengatur direktori kerja untuk sub-proses?
187 python  subprocess  popen 


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.