[英]When is a good time to use readline()?
許多人已經問過如何在Python中逐行讀取文件。 而且,許多人建議采用以下方式,而不是使用readline()。
with open('myfile.py') as f:
for line in f:
另外,有人說readlines()不是一種使用內存的有效方法,因為它一次讀取所有內容。
有沒有時間我應該使用readline()而不是上面推薦的方法? 或者,我應該忘記這個功能??
僅當使用for
不可行或無用時,才應使用readline()
。
示例:該文件包含一個固定的標題
在這種情況下, for
-loop需要某種行計數變量來記住當前處理的行。
這將最終在這樣的代碼中:
for i, line in enumerate(f):
if i == 0:
if line != "Foobar file format\n":
raise Exception("Wrong file format")
elif i == 1:
if int(line) > 4:
raise Exception("File format version too new")
elif i == 2:
size = int(line)
break
而不僅僅是這個
if f.readline() != "Foobar file format\n":
raise Exception("Wrong file format")
if int(f.readline()) > 4:
raise Exception("File format version too new")
size = int(f.readline())
(為清楚起見省略了一些錯誤檢查)
如果你想一次一個地使用每一行,而不是它們出現在文件內部的順序(即第3-> 2-> 6-> 5->等),則讀取線可能很有用。 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.