簡體   English   中英

連續兩次使用“readlines()”

[英]Using "readlines()" twice in a row

我正在嘗試做這樣的事情:

Lines = file.readlines()
# do something
Lines = file.readlines()  

但第二次Lines是空的。 這是正常的嗎?

是的,因為.readlines()將文件指針推進到文件末尾。

為什么不將行的副本存儲在變量中?

file_lines = file.readlines()
Lines = list(file_lines)
# do something that modifies Lines
Lines = list(file_lines)

這比兩次擊中磁盤要有效得多。 (請注意, list()調用是創建列表副本所必需的,以便對Lines修改不會影響file_lines 。)

您需要使用重置文件指針

file.seek(0)

使用前

file.readlines()

再次。

為了不必一次又一次地使用seek方法每次重置,請使用readlines方法,但您必須將其存儲在變量中,如下例所示:

%%writefile test.txt
this is a test file!
#open it
op_file = open('test.txt')
#read the file
re_file = op_file.readlines()
re_file
#output
['this is a test file!']
# the output still the same
re_file
['this is a test file!']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM