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

  • cyriak

    cyriak

    29 Mart 2006
  • KarnasCamillo

    KarnasCamill

    24 EKİM 2007
  • Michael Lummio

    Michael Lumm

    25 Mayıs 2007