python_文件操作
一、文件處理基本形式
# 1. 打開文件,得到文件句柄並賦值給一個變數 # 文件句柄 = open('文件路徑', '模式', '操作文件的字元編碼') f = open('carter', 'r', encoding='UTF-8') # 默認打開模式就為r # 2. 通過句柄對文件進行操作 data = f.read() print(data) # 3. 關閉文件 f.close() # 回收作業系統的資源
二、打開文件的模式
1. 打開文件的模式有(默認為文本模式): r ,只讀模式【默認模式,文件必須存在,不存在則拋出異常】 w,只寫模式【不可讀;不存在則創建;存在則清空內容】 a, 之追加寫模式【不可讀;不存在則創建;存在則只追加內容】 2. 對於非文本文件,我們只能使用b模式,"b"表示以位元組的方式操作(而所有文件也都是以位元組的形式存儲的,使用這種模式無需考慮文本文件的字元編碼、圖片文件的jgp格式、影片文件的avi格式) rb wb ab 註:以b方式打開時,讀取到的內容是位元組類型,寫入時也需要提供位元組類型,不能指定編碼 3. 了解部分 "+" 表示可以同時讀寫某個文件 r+, 讀寫【可讀,可寫】 w+,寫讀【可讀,可寫】 a+, 寫讀【可讀,可寫】 x, 只寫模式【不可讀;不存在則創建,存在則報錯】 x+ ,寫讀【可讀,可寫】 xb
三、操作文件的方法
f.read() #讀取所有內容,游標移動到文件末尾 f.readline() #讀取一行內容,游標移動到第二行首部 f.readlines() #讀取每一行內容,存放於列表中 f.write('1111n222n') #針對文本模式的寫,需要自己寫換行符 f.write('1111n222n'.encode('utf-8')) #針對b模式的寫,需要自己寫換行符 f.writelines(['333n','444n']) #文件模式 f.writelines([bytes('333n',encoding='utf-8'),'444n'.encode('utf-8')]) #b模式 #了解 f.readable() #文件是否可讀 f.writable() #文件是否可讀 f.closed #文件是否關閉 f.encoding #如果文件打開模式為b,則沒有該屬性 f.flush() #立刻將文件內容從記憶體刷到硬碟 f.name
小練習
while True: msg = """n 33[0;34m1 註冊n2 查看 33[0m """ print(msg) choice = input('