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

  • bashirsultani

    bashirsultan

    22 Mart 2010
  • Christopher Bill

    Christopher

    30 NİSAN 2009
  • Klemens Torggler

    Klemens Torg

    11 Mart 2008