我有以下代码:
def fsub():
print 'OK'
def fmain():
a = fsub()
fmain()
显然fsub()
不会返回“确定”,并在a
中分配给fmain()
。但是,这就是我想要的。无论如何我们可以不改变 fsub()
吗?
答案 0 :(得分:3)
执行a = fsub()
后,您尝试a
fsub()
返回None
,在这种情况下为fsub()
(因为fsub()
没有什么都可以。)
正确的做法是将stdout重定向到文件,然后调用import sys
def fmain():
sys.stdout = open('output','a')
fsub()
sys.stdout = sys.__stdout__
print 'Output of fsub():'
print open('output').read(),
# added the coma (,) to avoid a new line
函数,并将stdout重定向到原始标准输出:
>>> fmain()
Output of fsub():
OK
结果:
{{1}}