第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用Python迭代文件

使用Python迭代文件

拉風的咖菲貓 2019-07-20 14:22:13
使用Python迭代文件我有一個問題要理解迭代一個文件,這里我繼續(xù)我在解釋器上鍵入的內(nèi)容和結(jié)果:>>> f = open('baby1990.html', 'rU')>>> for line in f.readlines():>>>  print(line)>>> ...>>> ... all the lines from the file appear here>>> ...當我再次嘗試在同一個打開的文件上迭代時,我什么也沒有!>>> f = open('baby1990.html', 'rU')>>> for line in f.readlines():>>>    print(line)>>>>>>根本沒有輸出,要解決這個問題,我必須關(guān)閉()文件,然后再打開它進行讀取!這是正常的行為嗎?
查看完整描述

3 回答

?
慕田峪7331174

TA貢獻1828條經(jīng)驗 獲得超13個贊

是的,這是正常的行為。您基本上是在第一次讀取文件的末尾(您可以將它描述為讀取磁帶),因此,除非您通過以下任何一種方法重新設(shè)置它,否則無法從它讀取更多內(nèi)容。f.seek(0)重新定位到文件的開始,或者關(guān)閉它,然后再打開它,這將從文件的開頭開始。

如果您愿意,可以使用with語法,這將自動為您關(guān)閉文件。

例如,

with open('baby1990.html', 'rU') as f:
  for line in f:
     print line

一旦這個塊執(zhí)行完畢,文件就會自動為您關(guān)閉,因此您可以重復執(zhí)行這個塊,而無需顯式地自己關(guān)閉該文件,然后以這種方式再次讀取該文件。


查看完整回答
反對 回復 2019-07-20
?
忽然笑

TA貢獻1806條經(jīng)驗 獲得超5個贊

文件對象是緩沖器..當您從緩沖區(qū)讀取時,您讀取的部分將被消耗(讀取位置向前移動)。當您讀取整個文件時,讀取位置位于EOF,因此它不返回任何內(nèi)容,因為沒有任何要讀取的內(nèi)容。

如果由于某種原因必須重置文件對象上的讀取位置,則可以:

f.seek(0)


查看完整回答
反對 回復 2019-07-20
  • 3 回答
  • 0 關(guān)注
  • 445 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號