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

  • BenjiManTV

    BenjiManTV

    20 Mart 2011
  • Nick Pitera

    Nick Pitera

    8 NİSAN 2006
  • Watcher3223

    Watcher3223

    15 Kasım 2007