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

  • 07cadikiz07

    07cadikiz07

    17 EKİM 2007
  • knopik96

    knopik96

    7 Mayıs 2011
  • Videogamerz | Call of Duty

    Videogamerz

    5 NİSAN 2012