skip to navigation
skip to content

Not Logged In

threadio 0.1

ThreadIO, is good for capture stdout at multi-thread environment.

ThreadIO, is good for capture stdout at multi-thread environment.

>>> # standard capture
>>> from threadio import print_to_file
>>> with print_to_file(TextIO()) as fp:
...     print("hello world")
...
>>> fp.getvalue()
'hello world\n'
>>> # standard capture (but not stdout, stderr)
>>> from threadio import ThreadIO
>>> fp = ThreadIO(TextIO())
>>> with fp.capture(TextIO()) as fp2:
...     print("hello world", file=fp)
...     with fp.capture(TextIO()) as fp3:
...         print("hello world3", file=fp)
...         # not captured fp3, stored fp2
...         print("fail captured", file=fp2)
...
>>> fp.getvalue()
''
>>> fp2.getvalue()
'hello world\nfail captured\n'
>>> fp3.getvalue()
'hello world3\n'
>>> # thread example
>>> from threading import Thread
>>> from threadio import print_to_file
>>> th = Thread(target=print, args=("hello world!",))
>>> with print_to_file(TextIO()) as fp:
...     th.start()
...     th.join()
...     print("HAYO!")
...
hello world!
>>> fp.getvalue() # not capture other thread's print
'HAYO!\n'
>>> # note. print_to_xxx function change everything.
>>> a = sys.stdout
>>> with print_to_file(TextIO()): pass
>>> b = sys.stdout
>>> a is b
False
 
File Type Py Version Uploaded on Size
threadio-0.1.tar.gz (md5) Source 2012-12-14 2KB
  • Downloads (All Versions):
  • 1 downloads in the last day
  • 22 downloads in the last week
  • 146 downloads in the last month