Nasıl bir dış komut uyumsuz olarak Python ile çalıştırabilir miyim?
Zaman uyumsuz olarak bir Python script shell komutu çalıştırmak için ihtiyacım var. Bu Python senaryomu dış komut patlarsa ve yapması gereken neyse onu yapar iken çalıştırmaya devam etmek istiyorum.
Bu yazı okudum:
http://stackoverflow.com/questions/89228/how-to-call-external-command-in-python
Ben o gitti ve bazı testler yaptı, ve göründüğü gibi os.system()
yapacak iş sağladığı kullanıyorum &
sonunda komut böylece bilmiyorum beklemen dönmek. Merak ediyorum ne bu böyle bir şey yapmak için doğru yolu ise? Ama dış komut blokları çünkü benim için çalışmayacak commands.call()
çalıştım.
Beni bu os.system()
kullanılması tavsiye edilir. yoksa eğer denemeliyim yoksa başka bir rota bildirin lütfen.
CEVAP
subprocess.Popen tam olarak ne istediğinizi yapar.
from subprocess import Popen
p = Popen(['watch', 'ls']) # something long running
# ... do other stuff while subprocess is running
p.terminate()
(Yorum cevabı tam) için düzenleyin
Bu Popen örnek yapabilir çeşitli diğer şeyler gibi poll()
bunu görmek için hala çalışan, communicate()
ile göndermek için bu verileri stdin ve bekle sona erdirmek.
Nasıl dosyaları zaman uyumsuz olarak y...
Nasıl yerel olarak yüklü Python modüll...
Nasıl çalıştırmadan, Python komut dosy...
Nasıl bir form gönderildikten sonra ar...
Nasıl sözlük olarak değişken anahtar d...