我正在尝试在打印后将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
关于python - 将标准输出转换为字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33469624/