Python逐行讀取文件內(nèi)容的方法總結(jié)
Python四種逐行讀取文件內(nèi)容的方法
下面四種Python逐行讀取文件內(nèi)容的方法, 分析了各種方法的優(yōu)缺點及應(yīng)用場景,以下代碼在python3中測試通過, python2中運行部分代碼已注釋,稍加修改即可。
方法一:readline函數(shù)
# -*- coding: UTF-8 -*-
f = open("/pythontab/code.txt") # 返回一個文件對象
line = f.readline() # 調(diào)用文件的 readline()方法
while line:
# print line, # 在 Python 2中,后面跟 ',' 將忽略換行符
print(line, end='') # 在 Python 3中使用
line = f.readline()
f.close()
優(yōu)點:節(jié)省內(nèi)存,不需要一次性把文件內(nèi)容放入內(nèi)存中。
缺點:速度相對較慢。
方法二:一次讀取多行數(shù)據(jù)
代碼如下:
# -*- 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()
一次性讀取多行,可以提升讀取速度,但內(nèi)存使用稍大, 可根據(jù)情況調(diào)整一次讀取的行數(shù)
方法三:直接for循環(huán)
可以直接對一個file對象使用for循環(huán)讀每行數(shù)據(jù),代碼如下:
# -*- 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)
使用簡單, 但速度較慢
以上就是本次介紹的全部相關(guān)知識點,感謝大家的學(xué)習(xí)和對腳本之家的支持。
相關(guān)文章
使用Python的Flask框架實現(xiàn)視頻的流媒體傳輸
這篇文章主要介紹了使用Python的Flask框架實現(xiàn)視頻的流媒體傳輸,包括從攝像機獲取幀到web瀏覽器的數(shù)字流傳輸,需要的朋友可以參考下2015-03-03
python mongo 向數(shù)據(jù)中的數(shù)組類型新增數(shù)據(jù)操作
這篇文章主要介紹了python mongo 向數(shù)據(jù)中的數(shù)組類型新增數(shù)據(jù)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
pydev debugger: process 10341 is co
這篇文章主要介紹了pydev debugger: process 10341 is connecting無法debu的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04

