有谁能告诉我如何将程序控制台输出作为变量?
例如:
print "this is simple output"
print "and this is another simple output"
ConsOutputs = some_function_to_get_those_strings_from_console()
答案 0 :(得分:0)
您可以将标准输出重定向到您自己的自定义输出对象。你在这里获得了很多控制权,默认情况下这将停止打印到标准输出。
import sys
class Logger():
stdout = sys.stdout
messages = []
def start(self):
sys.stdout = self
def stop(self):
sys.stdout = self.stdout
def write(self, text):
self.messages.append(text)
log = Logger()
log.start()
print "sys"
log.stop()
print log.messages
如果要记录消息并同时将其打印到标准输出,则必须向记录器对象的write方法添加更多逻辑。