標籤:參考 class 資訊 and debug with 代碼 readlines his
python編程中,往往需要將結果用print等輸出,如果希望輸出既可以顯示到IDE的螢幕上,也能存到檔案中(如txt)中,該怎麼辦呢?
方法1
可通過日誌logging模組輸出資訊到檔案或螢幕。但可能要設定log的level或輸出端,對於同時需要記錄debug error等資訊的較為合適,官方教程推薦學慣用更規範的logger來操作。
例如,可參考來自官網的這段代碼。
import logginglogging.basicConfig(filename=‘log_examp.log‘,level=logging.DEBUG)logging.debug(‘This message should go to the log file‘)logging.info(‘So should this‘)logging.warning(‘And this, too‘)
方法2
利用print輸出兩次
比如這裡我想輸出程式的path和程式的檔案名稱
import os# 第一句輸出到consle:print("filepath:",__file__,"\nfilename:",os.path.basename(__file__))# 第二句輸出到txt:with open("outputlog.txt","a+") as f: print("filepath:",__file__, "\nfilename:",os.path.basename(__file__)) #當然 也可以用f.write("info")的方式寫入檔案
方法3
利用輸出重新導向輸出兩次
同樣輸出程式path和檔案名稱
import osimport systemp=sys.stdout # 記錄當前輸出指向,預設是conslewith open("outputlog.txt","a+") as f: sys.stdout=f # 輸出指向txt檔案 print("filepath:",__file__, "\nfilename:",os.path.basename(__file__)) print("some other information") print("some other") print("information") sys.stdout=temp # 輸出重新導向回consle print(f.readlines()) # 將記錄在檔案中的結果輸出到螢幕
python 資訊同時輸出到控制台與檔案