0
任何人都可以告訴我如何獲得相同的程序控制臺輸出爲變量?Python獲取控制檯輸出
例如:
print "this is simple output"
print "and this is another simple output"
ConsOutputs = some_function_to_get_those_strings_from_console()
任何人都可以告訴我如何獲得相同的程序控制臺輸出爲變量?Python獲取控制檯輸出
例如:
print "this is simple output"
print "and this is another simple output"
ConsOutputs = some_function_to_get_those_strings_from_console()
您可以重定向標準輸出到自己的自定義輸出對象。你在這裏得到很多控制,默認情況下這將停止打印到標準輸出。
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方法。
非常感謝,它像一個魅力。再次感謝你 :) – 2014-09-02 13:03:55
你爲什麼要這麼做?有幾條路線(例如使用日誌記錄,滾動你自己的'print'函數,修改'stdout'),但哪個最好取決於你的目標。 – jonrsharpe 2014-09-02 12:42:59
請不要再問[同樣的問題](http://stackoverflow.com/questions/25621134/python-pss-e-get-output-as-variable)。 – 2014-09-02 12:46:06