回复: Re: Need your help

1011_wxy 1011_wxy at 163.com
Thu Apr 28 21:31:02 EDT 2011


Dear Thomas,JM,Chris Rebert:
I got it. Thank you very very very much.
Best Regards
2011年04月29日
1011_wxy
发件人: Thomas Rachel <nutznetz-0c1b6768-bfa9-48d5-a470-7603bd3aa915 at spamschutz.glglgl.de>
发送时间: 2011年04月28日 21:26
主 题: Re: Need your help
收件人: python-list at python.org
Am 28.04.2011 13:14, schrieb Chris Rebert: 
> import a, b, sys 
> def c(): 
> orig_stdout = sys.stdout 
> sys.stdout = open('my_log_file.log', 'w') 
> a.a() 
> b.b() 
> sys.stdout.close() 
> sys.stdout = orig_stdout 
>>> Someone may have written a with-statement context manager that 
> abstracts away the swapping. 

@contextlib.contextmanager 
def swap_stdout(target): 
 orig_stdout = sys.stdout 
 sys.stdout = target 
 try: 
 yield target 
 finally: 
 sys.stdout = orig_stdout 
In this case, I can use all kinds of files (open() files, StringIO 
objects etc.), and can re-use them if necessary, in order to 
prepend/append data. 
Closing can happen additionally, if the user wants. 
Thomas 
-- 
http://mail.python.org/mailman/listinfo/python-list 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20110429/c35d48ad/attachment-0001.html>


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /