我正在尝试将sys.stdout.write
输出转换为打印后的字符串,以便我可以修改它并稍后再打印,但我遇到了问题。
到目前为止,这是我的代码:
import sys
import random
def write(s):
sys.stdout.write(s)
myOutput = sys.stdout(s)
i = random.randint(1,10)
write("\nMy number is "+str(i)+".")
不幸的是,这不起作用,它给了我以下错误:
TypeError. "'PseudoOutputFile' object is not callable"
我应该怎样做才能实现目标?
答案 0 :(得分:2)
但是,你已经将它作为一个字符串。它只是s
。所以替换:
myOutput = sys.stdout(s)
使用:
myOutput = s
另外,如果myOutput是全局的,那么你需要在函数内声明它:
global myOutput
答案 1 :(得分:1)
这是一个简单的例子:
import sys
def main ():
i=1
sys.stdout.write("Value is %s" % i)
main()