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

  • Michael Neal

    Michael Neal

    2 Mayıs 2009
  • PC Learning Zone - Computer Training

    PC Learning

    8 EYLÜL 2006
  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009