假設文件名為:loga.txt 內容為:你說什麼呢 1 -- open() 打開文件 參數1: 要打開的文件路徑 + 文件名 參數2: 打開方式 r 只讀模式,文本必須存在 r+ 讀寫模式,文件必須存在( 常用這種方式操作文件 ) w 只寫模式,不能調用read()進行讀操作,如果打開一個已存在的文 ...
假設文件名為:loga.txt 內容為:你說什麼呢
1 -- open() 打開文件
參數1: 要打開的文件路徑 + 文件名
參數2: 打開方式
r ---- 只讀模式,文本必須存在
r+ ---- 讀寫模式,文件必須存在( 常用這種方式操作文件 )
w ---- 只寫模式,不能調用read()進行讀操作,如果打開一個已存在的文件,會先清空內容
w+ ---- 讀寫模式,如果打開一個已存在的文件,會先清空內容
a ---- 追加模式,不能調用read()進行讀操作,在文件的末尾漢添加內容,如果文件不存在,會自動創建
a+ ---- 追加讀模式,在文件的末尾添加內容,如果文件不存在,會自動創建( 常用這種方式操作文件 )
rb+、wb+、ab+,這種是二進位模式打開或者讀取,一些音樂文件
常用的是 r+ 和 a+ 這二種方式進行文件操作
fp = open('loga.txt',mode='r+',encoding='utf-8') #先讀一次文件內容,將游標設置到文件末尾,然後在進行寫入操作 fp.read() fp.write("bbbbbbbbb") fp.close() #執行後文件的內容: #你說什麼呢bbbbbbbbb
2 -- read() 讀取文件內容
參數:讀取的字元數量,預設全部讀取
fp = open('loga.txt',mode='r+',encoding='utf-8') print(fp.read(3)) fp.close() #結果: #你說什
3 -- readline() 只讀取一行內容
每調用一次,就會讀取一行的內容,然後將游標設置到下一行的開始位置
註意:該函數會自動給讀取到的內容後加一個 換行符
#文件內容: #你說什麼呢 #12345 #好好的 fp = open('loga.txt',mode='r+',encoding='utf-8') print(fp.readline()) print(fp.readline()) print(fp.readline()) fp.close() #執行結果: #你說什麼呢 # #12345 # #好好的
4 -- readines()
將文件內容按照行的方式進行讀取,返回一個列表,每一行內容為一個元素
#文件內容如下: #你說什麼呢 #12345 #好好的 fp = open('loga.txt',mode='r+',encoding='utf-8') print(fp.readlines()) fp.close() #結果: #['你說什麼呢\n', '12345\n', '好好的']
5 -- write() 寫入文件內容
fp = open('loga.txt',mode='r+',encoding='utf-8') #先讀一次文件內容,將游標設置到文件末尾,然後在進行寫入操作 fp.read() fp.write("aaa") fp.close()
6 -- close() 關閉文件
操作完文件後,必須進行關閉,否則容易出錯
---------------------------操作文件游標的函數---------------------------
1 -- seek() 設置游標的位置
參數:0 表示將游標設置到文件開始位置
註意:該函數是按照 位元組 的方式進行設置,在utf-8環境下,一個中文字元占用3個位元組,英文字元占用1個位元組
2 -- tell() 返回當前游標的所在位置
---------------------------自動調用關閉文件的功能寫法---------------------------
在很多時侯,會有可能在操作完文件後,忘記調用close函數進行關閉,python提供了一個自動關閉文件的方法
支持同時打開多個文件,用 ' , '號隔開
with open('loga.txt',mode='r+',encoding='utf-8') as fp: print(fp.read())
執行完 print函數後,會自動調用close進行關閉文件操作。
---------------一次打開二個文件,進行操作
with open('loga.txt',mode='r+',encoding='utf-8') as fp,open('loga.txt',mode='r+',encoding='utf-8') as fp2: print(fp.read()) print(fp2.read())