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”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM