我正在編寫一些代碼,可以將日誌輸出到屏幕或文件,但不能同時輸出。 我認爲這樣做是寫一個類最簡單的方法:將Python輸出寫入屏幕或文件名
class WriteLog:
"write to screen or to file"
def __init__(self, stdout, filename):
self.stdout = stdout
self.logfile = file(filename, 'a')
def write(self, text):
self.stdout.write(text)
self.logfile.write(text)
def close(self):
self.stdout.close()
self.logfile.close()
然後調用它是這樣的:
output = WriteLog(sys.stdout, 'log.txt')
但是,我不知道如何讓切換這兩者之間應該有一個選項,它將設置WriteLog
以使用stdout或filename
。一旦設置了該選項,我只需使用WriteLog
而不需要任何if
報表等。
任何想法?我在網上看到的大多數解決方案都試圖同時輸出到兩者。
謝謝。
這很好用!謝謝。我會嘗試擁抱'if'語句;) – mdhoney 2014-11-07 01:27:26