[英]Python input/Output explanation
my_file = open("text.txt", "r")
print my_file.readline()
print my_file.readline()
print my_file.readline()
my_file.close()
我知道這/如何打印出文本文件的前三行,但我不確定為什么 。 由於我要打印出my_file.readline(),為什么它不打印出所有三行的第一行?
Python讀取文件並將其存儲在變量my_file
,並且指針位於文件開頭或(0, 0)
。 當您開始執行readline
,python將從文件中讀取一行,然后“使用”它。 換句話說,當前指針現在將在下一行等待,因此當您調用readline
,它將現在獲得下一行。
希望能有所幫助
與您期望的等效:
my_file = open("text.txt", "r")
print my_file.readline()
my_file.seek(0, 0)
print my_file.readline()
my_file.seek(0, 0)
print my_file.readline()
my_file.close()
在上述情況下,在每次readline
之后, seek(0, 0)
調用會將指針的位置重置為文件的開頭,因此在這種情況下,您將結束打印第一行3次。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.