在python中讀取文件常用的三種方法:read(),readline(),readlines()。看似很簡單,但用的時候經常忘記原理。俗話說好記性不如爛筆頭,所以今天特地整理一下:
1.read()
特點:讀取整個文件,將文件內容放到一個字符串變量中。
缺點:如果文件非常大,尤其是大於內存時,無法使用read()方法。
file = open('個人信息.txt', 'r') # 創建的這個文件,也是一個可迭代對象
try:
text = file.read() # 結果爲str類型
print(type(text))
print(text)
finally:
file.close()
"""
<class 'str'>
張三 男 177 70
李四 女 156 50
王五 女 167 48
"""
2.readline()
特點:readline()方法每次讀取一行;返回的是一個字符串對象,保持當前行的內存
缺點:比readlines慢得多
file = open('個人信息.txt', 'r')
try:
while True:
text_line = file.readline()
if text_line:
print(type(text_line), text_line)
else:
break
finally:
file.close()
"""
<class 'str'> 張三 男 177 70
<class 'str'> 李四 女 156 50
<class 'str'> 王五 女 167 48
"""
3.readlines()
特點:一次性讀取整個文件;自動將文件內容分析成一個行的列表
。
file = open('個人信息.txt', 'r')
try:
text_lines = file.readlines()
print(type(text_lines), text_lines)
for line in text_lines:
print(type(line), line)
finally:
file.close()
"""
<class 'list'> ['張三 男 177 70\n', '李四 女 170 50\n', '王五 女 167 48']
<class 'str'> 張三 男 177 70
<class 'str'> 李四 女 156 50
<class 'str'> 王五 女 167 48
"""