2006年02月27日 星期一 12:23
比如有这样的函数: def hello(): print "Hello." 怎样才能在程序中获取这个函数的输出内容呢? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060227/950dadc1/attachment.htm
2006年02月27日 星期一 12:27
在输出的同时,log一份到log文件 -- 开飞机的舒克 http://www.lvye.org/shuke msn:weizhong at netease.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060227/2b091a56/attachment.html
2006年02月27日 星期一 12:30
你是不是想要 def hello(): return "Hello." 2006/2/27, recordus <recordus at gmail.com>: > > 比如有这样的函数: > def hello(): > print "Hello." > > 怎样才能在程序中获取这个函数的输出内容呢? > > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > -- 欢迎访问: http://blog.csdn.net/ccat 刘鑫 March.Liu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060227/54217273/attachment.htm
2006年02月27日 星期一 12:32
On 2/27/06, recordus <recordus at gmail.com> wrote: > 比如有这样的函数: > def hello(): > print "Hello." > > 怎样才能在程序中获取这个函数的输出内容呢? 最简单的是把 print 改为 return 。别外hack的方式就是把标准输出重定向到你的文件对象中: def hello(): print 'hello' import sys import StringIO buf = StringIO.StringIO() old = sys.stdout #保存旧的 sys.stdout = buf #替换成你的 hello() #输出,但看不到,因为输出到buf中去了 sys.stdout = old #恢复 print "out=", buf.getvalue() #再次输出 -- I like python! My Blog: http://www.donews.net/limodou NewEdit Maillist: http://groups.google.com/group/NewEdit
2006年02月27日 星期一 17:12
On 2/27/06, limodou <limodou at gmail.com> wrote: > 最简单的是把 print 改为 return 。别外hack的方式就是把标准输出重定向到你的文件对象中: > > def hello(): > print 'hello' > > import sys > import StringIO > > buf = StringIO.StringIO() > old = sys.stdout #保存旧的 > sys.stdout = buf #替换成你的 > hello() #输出,但看不到,因为输出到buf中去了 > sys.stdout = old #恢复 > print "out=", buf.getvalue() #再次输出 可以写成"@"方式的:) -- Best Regards, mep
2006年02月27日 星期一 18:02
怎么写? 2006/2/27, mep <kebowang at gmail.com>: > > On 2/27/06, limodou <limodou at gmail.com> wrote: > > 最简单的是把 print 改为 return 。别外hack的方式就是把标准输出重定向到你的文件对象中: > > > > def hello(): > > print 'hello' > > > > import sys > > import StringIO > > > > buf = StringIO.StringIO() > > old = sys.stdout #保存旧的 > > sys.stdout = buf #替换成你的 > > hello() #输出,但看不到,因为输出到buf中去了 > > sys.stdout = old #恢复 > > print "out=", buf.getvalue() #再次输出 > > 可以写成"@"方式的:) > > -- > Best Regards, > mep > > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060227/d18aaf10/attachment.htm
2006年02月27日 星期一 19:01
On 2/27/06, ajax chelsea <ajaxchelsea at gmail.com> wrote: > 怎么写? import sys import StringIO buf = StringIO.StringIO() def redirector(g): def func(*args, **kwargs): old = sys.stdout global buf sys.stdout = buf try: return g(*args, **kwargs) finally: sys.stdout = old return func @redirector def hello(): print 'hello' hello() print "out=", buf.getvalue() 有点简陋 -- Best Regards, mep
Zeuux © 2025
京ICP备05028076号