SORU
2 AĞUSTOS 2009, Pazar


Dize arabellek çeşit içine python stdout yönlendirebilir miyim?

Python ftplib küçük bir FTP istemcisi yazmak için, ama paketin içinde bazı işlevler dize çıktı dönüş yok, ama stdout yazdırmak için kullanıyorum. Çıktısını okumak mümkün olacak hangi bir nesneye stdout yönlendirmek istiyorum.

stdout düzenli bir dosya ile yönlendirilebilir biliyorum:

stdout = open("file", "a")

Ama yerel disk kullanır olmayan bir yöntemi tercih ederim.

Bir akış halinde bir tampon sarmak için kullanılan Java BufferedReader gibi bir şey arıyorum.

CEVAP
2 AĞUSTOS 2009, Pazar


from cStringIO import StringIO
import sys

old_stdout = sys.stdout
sys.stdout = mystdout = StringIO()

# blah blah lots of code ...

sys.stdout = old_stdout

# examine mystdout.getvalue()

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • fast2hell

    fast2hell

    16 AĞUSTOS 2006
  • humanHardDrive

    humanHardDri

    16 Mart 2011
  • xSammyJoe1

    xSammyJoe1

    19 Temmuz 2011