[英]Readline() in a loop is not working in python
我有一個名為file
,其內容為:
Hello
I am not a bot
I am a human
Do you believe me?
I know you won't
Yes I am a bot
Yes you thought it right
此代碼打印出文本的所有行:
with open(file) as f:
for i in f:
print(i,end="")
但是這段代碼沒有,我也不明白為什么。
with open(file) as f:
for i in f:
print(f.readline(),end="")
打印輸出:
I am not a bot
Do you believe me?
Yes I am a bot
我的理解是作為循環越過文件中的行,它會讀取該行並返回一個字符串,然后打印出來。 如果我用for i in range(9)
的for替換for循環,則可以正常工作。
文件對象上的for循環隱式地調用readline
(或等效方法),因此發生的是,在每個循環中,您兩次調用readline
,這就是為什么每隔一行獲取一次的原因
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.