python讀取文件read()、readline()、readlines()對比

在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
"""
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章