SORU
11 EYLÜL 2009, Cuma


Python Backticks eşdeğer

Ters tırnaklar, yeni Ruby ve Python, Perl karşılığı nedir? Bu, Ruby bunu yapabilirim

foo = `cat /tmp/baz`

Eşdeğer deyimi Python neye benziyor? os.system("cat /tmp/baz") denedim ama bu olağan bir sonucu ortaya koyar ve bana geri döner bu işlemin hata kodu.

CEVAP
11 EYLÜL 2009, Cuma


En esnek şekilde subprocess modülü kullanmak için:

import subprocess

proc = subprocess.Popen(["cat", "/tmp/baz"], stdout=subprocess.PIPE)
(out, err) = proc.communicate()
print "program output:", out

Örneğin kabuk ile arama, * ile dosya genişleme almak için geçirmek istiyorsanız shell=True parametre kullanabilirsiniz. Eğer bunu yaparsanız, bir string olarak komut sağlamak için, bir kabuk de yazabilirsiniz gibi/... istemi: alıntı var

proc = subprocess.Popen('cat /tmp/ba* "s p a c e.txt"', shell=True, ...)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Howcast

    Howcast

    4 EKİM 2007
  • infodirt

    infodirt

    11 Mart 2009
  • undrmyumbrellaa

    undrmyumbrel

    25 Temmuz 2012