将标准输出转换为字符串



我正试图在打印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()

最新更新