python常用的讀取文件函數有三種read()、readline()、readlines()
- read()
一次性讀取所有文本,在讀取文本中含有中文時是gkd,打開時需要定義編碼爲utf-8
with open("1.txt", "r", encoding='utf-8') as f: #打開文本
data = f.read() #讀取文本
print(data)
- readline()
讀取第一行的內容
with open('1.txt', 'r', encoding='utf-8') as f:
data = f.readline()
print(data)
- readlines()
讀取全部內容,以List格式返回結果
with open('1.txt', 'r', encoding='utf-8') as f:
data = f.readlines()
print(data)
可以配合 for 使用:
with open('1.txt', 'r', encoding='utf-8') as f:
for ann in f.readlines():
ann = ann.strip('\n') #去除文本中的換行符
print(ann)
讀寫模式
-
r : 讀取文件,若文件不存在則會報錯
-
w: 寫入文件,若文件不存在則會先創建再寫入,會覆蓋原文件
-
a : 寫入文件,若文件不存在則會先創建再寫入,但不會覆蓋原文件,而是追加在文件末尾
-
r+ : 可讀、可寫,文件不存在也會報錯,寫操作時會覆蓋
-
w+ : 可讀,可寫,文件不存在先創建,會覆蓋
-
a+ : 可讀、可寫,文件不存在先創建,不會覆蓋,追加在末尾
-
rb:以二進制方式打開,只能讀取文件。如果文件不存在,會發生異常
-
wb:以二進制方式打開,只能寫入文件。如果文件不存在,創建該文件; 如果文件存在,會清空,在打開(覆蓋)
-
rt:以文本讀方式打開,只能讀文件。不存在報錯
-
wt:以文本寫方式打開,只能寫文件。 不存在創建;存在覆蓋
-
rb+:以二進制方式打開,可讀、寫文件。如果文件不存在,會發生異常
-
wb+:以二進制方式打開,可讀、寫文件。如果文件不存在,創建該文件;如果文件存在,會清空,在打開(覆蓋)