Python四種逐行讀取文件內容的方法

logo
Python四種逐行讀取文件內容的方法

下面四種Python逐行讀取文件內容的方法, 分析了各種方法的優缺點及應用場景,以下代碼在python3中測試通過, python2中運行部分代碼已注釋,稍加修改即可。

方法一:readline函數

# -*- coding: UTF-8 -*-
f = open("/pythontab/code.txt")  # 返回一個文件對象
line = f.readline()  # 調用文件的 readline()方法
while line:
    # print line,      # 在 Python 2中,后面跟 ',' 將忽略換行符
    print(line, end='')  # 在 Python 3中使用
    line = f.readline()
f.close()

優點:節省內存,不需要一次性把文件內容放入內存中。
缺點:速度相對較慢。

方法二:一次讀取多行數據

代碼如下:
# -*- coding: UTF-8 -*-
f = open("/pythontab/code.txt")
while 1:
    lines = f.readlines(10000)
    if not lines:
        break
    for line in lines:
        print(line)
f.close()

一次性讀取多行,可以提升讀取速度,但內存使用稍大, 可根據情況調整一次讀取的行數

方法三:直接for循環

可以直接對一個file對象使用for循環讀每行數據,代碼如下:

# -*- coding: UTF-8 -*-
for line in open("/pythontab/code.txt"):
    # print line,  #python2 用法
    print(line)

方法四:使用fileinput模塊

import fileinput
for line in fileinput.input("/pythontab/code.txt"):
    print(line)

使用簡單, 但速度較慢

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容