SORU
11 Mart 2009, ÇARŞAMBA


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
11 Mart 2009, ÇARŞAMBA


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jcortes187

    jcortes187

    24 Mart 2006
  • Kyler Briskey

    Kyler Briske

    20 ŞUBAT 2011
  • The Onion

    The Onion

    14 Mart 2006