Python學習-文件操作
阿新 • • 發佈:2018-07-13
code see ref 字符 pri lines 清空 文件的 末尾
文件對象常用的函數
序號 | 函數 | 描述 |
---|---|---|
1 | file.read([size]) | 從文件讀取指定的字符數, 如果未指定size, 則讀取文件中的所有內容 |
2 | file.write(str) | 將字符串寫入文件, 返回的是寫入的字符串的長度 |
3 | file.close() | 關閉文件對象 |
4 | file.flush() | 刷新文件內部緩沖, 直接把內部緩沖區的數據立刻寫入文件 |
5 | file.readline() | 讀取文件的一行, 包括換行符‘\n‘ |
6 | file.readlines() | 一次性讀取文件的所有行, 返回一個列表, 列表中的單個元素是文件的單行的內容 |
7 | file.seek(offset[,where]) | 移動文件讀取指針的位置<br />參數: <br />offset - 偏移量(單位: 字節)<br />where - 可選(3個值: 0 從文件開頭偏移 1 從當前位置偏移 2 從文件末尾偏移) |
8 | file.truncate([size]) | 截斷<br />參數: size 指定時, 從文件開頭階段size個字節<br />size 未指定, 從當前位置截斷至文件末尾, 當前位置值末尾內容被刪除 |
不同模式打開文件的完全列表
模式 | 描述 |
---|---|
r | 以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。 |
rb | 以二進制格式打開一個文件用於只讀。文件指針將會放在文件的開頭。這是默認模式。一般用於非文本文件如圖片等。 |
r+ | 打開一個文件用於讀寫。文件指針將會放在文件的開頭。 |
rb+ | 以二進制格式打開一個文件用於讀寫。文件指針將會放在文件的開頭。一般用於非文本文件如圖片等。 |
w | 打開一個文件只用於寫入。如果該文件已存在則打開文件,並從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。 |
wb | 以二進制格式打開一個文件只用於寫入。如果該文件已存在則打開文件,並從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。一般用於非文本文件如圖片等。 |
w+ | 打開一個文件用於讀寫。如果該文件已存在則打開文件,並從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。 |
wb+ | 以二進制格式打開一個文件用於讀寫。如果該文件已存在則打開文件,並從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。一般用於非文本文件如圖片等。 |
a | 打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該文件不存在,創建新文件進行寫入。 |
ab | 以二進制格式打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該文件不存在,創建新文件進行寫入。 |
a+ | 打開一個文件用於讀寫。如果該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。如果該文件不存在,創建新文件用於讀寫。 |
ab+ | 以二進制格式打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾。如果該文件不存在,創建新文件用於讀寫。 |
# 有testfile.txt, 內容為 我愛你中國 心愛的母親 我為你流淚 也為你自豪
# 讀取所有內容, 然後輸出
f = open(‘testfile.txt‘, mode=‘r‘, encoding=‘utf-8‘) content = f.read() print(content) f.close()
# 一次讀取所有行的內容, 遍歷輸出 f = open(‘testfile.txt‘, mode=‘r‘, encoding=‘utf-8‘) file_lines = f.readlines() for line in file_lines: print(line, end=‘‘) f.close()
# 讀取指定字符數 f = open(‘testfile.txt‘, mode=‘r‘, encoding=‘utf-8‘) s = f.read(3) # 註意此處是指字符數, 不是字節數, 如果代表字節數, utf-8編碼一個中文占3個字節, 那麽輸出結果就應該為 ‘我‘ print(s) f.close() # 輸出結果 我愛你
2. 寫入文件
# 清空原有內容寫入 f = open(‘testfile.txt‘, mode=‘w‘, encoding=‘utf-8‘) f.write(‘真的很自豪‘) f.flush() f.close() # 追加寫入 f = open(‘testfile.txt‘, mode=‘a‘, encoding=‘utf-8‘) f.write(‘真的真的很自豪\n‘) f.close()
3. 操作文件的指針
# 操控文件讀取指針位置 f = open(‘testfile.txt‘, ‘r‘) f.seek(3) # 讀取指針右移3個字節 print(f.read(2)) # 讀取2個字符 f.seek(6) print(f.read(1)) f.seek(3, 0) # 讀取指針從文件開頭右移3個字節 print(f.read(1)) print(f.tell()) # 返回文件指針的當前位置 # f.seek(3,1) print(f.readline()) # print(f.read()) f.close() # 輸出結果 愛你 你 愛 6 你中國
Python學習-文件操作