我正试图在打印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"
我应该做些什么来实现我的目标?
但是,您已经将其作为字符串。只是s
。所以替换:
myOutput = sys.stdout(s)
带有:
myOutput = s
此外,如果myOutput是全局的,那么您需要在函数中声明它为:
global myOutput
这里有一个快速的小例子:
import sys
def main ():
i=1
sys.stdout.write("Value is %s" % i)
main()