1. 程式人生 > 實用技巧 >python學習雜記--print資訊寫入檔案

python學習雜記--print資訊寫入檔案

除了使用日誌生成函式logger,還可以直接將print的資訊寫入到目標檔案中

logger方法如下:

 1 def log(message):
 2     # 建立info級別的記錄器
 3     logger = logging.getLogger(__name__)
 4     if not logger.handlers:
 5         logger.setLevel(logging.INFO)
 6         # 建立日誌處理程式,並將log命名為log.txt,logging.info表示log中列印資訊的級別為info(只有級別高於info才會寫進文件。)
 7
filename = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time())) + r"_appium_log.txt" 8 handler_info = logging.FileHandler('..\logs\\'+filename, 'w',encoding="utf-8") 9 handler_info.setLevel(logging.DEBUG) 10 # # console中輸出日誌資訊(console輸出和上方兩行的log.txt只能選一種輸出方式,不可以共存)
11 # handler_info = logging.StreamHandler() 12 # handler_info.setLevel(logging.INFO) 13 14 # 日誌格式 15 # formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') 16 # handler_info.setFormatter(formatter) 17 18 # 將日誌處理程式加入到記錄器
19 logger.addHandler(handler_info) 20 logger.info(message) 21 # logger.handlers.clear() 22 return logger

print方法如下:

1 # 首先確定要寫入的檔案位置
2 File_address = r'xxxx/xxx/xxx/xx.txt'
3 f = open(File_address,'a')
4 
5 print("This is for test", file=f)(或者還有一種方法是f.write(內容),用write方法需要在寫完之後加上f.close())

python關於檔案的讀取許可權:

‘r’只讀。該檔案必須已存在。

‘r+’可讀可寫。該檔案必須已存在,寫為追加在檔案內容末尾。

‘rb’:表示以二進位制方式讀取檔案。該檔案必須已存在。

‘w’只寫。開啟即預設建立一個新檔案,如果檔案已存在,則覆蓋寫(即檔案內原始資料會被新寫入的資料清空覆蓋)。

‘w+’寫讀。開啟建立新檔案並寫入資料,如果檔案已存在,則覆蓋寫。

‘wb’:表示以二進位制寫方式開啟,只能寫檔案, 如果檔案不存在,建立該檔案;如果檔案已存在,則覆蓋寫。

‘a’追加寫。若開啟的是已有檔案則直接對已有檔案操作,若開啟檔案不存在則建立新檔案,只能執行寫(追加在後面),不能讀。

‘a+’追加讀寫。開啟檔案方式與寫入方式和'a'一樣,但是可以讀。需注意的是你若剛用‘a+’開啟一個檔案,一般不能直接讀取,因為此時游標已經是檔案末尾,除非你把游標移動到初始位置或任意非末尾的位置。(可使用seek()方法解決這個問題)

 1 print(f.readline())    # 列印一行
 2 print(f.readline(5))   # 列印前5個字元
 3 print(f.tell())        # 列印當前指標位置
 4 print(f.read())        # 讀完檔案後,指標在最尾處
 5 f.seek(0)              # 如要重頭到尾再讀,檔案指標須先回到檔案頭(0-檔案頭,預設值; 1-當前位置; 2-檔案尾)
 6 print(f.read())        # 重讀檔案
 7 print(f.encoding)      # 列印當前使用的字元編碼
 8 print(f.name)          # 列印檔名
 9 print(f.flush())       # 重新整理
10 f.truncate()           # 清空檔案
11 f.truncate(12)         # 從頭開始,第12個字元後截斷並清除
12 f.close()              # 關閉檔案

開啟檔案時有時還需要注意加上以哪種編碼方式開啟

常用的有“GBK”,“utf-8”,“iso-8859”

Windows預設作業系統字元編碼是GBK

Python預設操作的字元編碼是“utf-8”,也可用“iso-8859”