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

  • LAHWF

    LAHWF

    5 Kasım 2009
  • mahalodotcom

    mahalodotcom

    8 HAZİRAN 2007
  • Qmusic Romania

    Qmusic Roman

    8 Temmuz 2011