Python获取控制台输出

时间:2014-09-02 12:39:10

标签: python console

有谁能告诉我如何将程序控制台输出作为变量

例如:

print "this is simple output"
print "and this is another simple output"

ConsOutputs = some_function_to_get_those_strings_from_console()

1 个答案:

答案 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方法添加更多逻辑。