我被玩弄的文件與Python,所以我寫了這一點:爲什麼我需要使另一個文件句柄再次讀取同一個文件?
ifh=open('2.txt','r')
for line in ifh:
print(line,end="")
print("Done")
#ifh=open('2.txt','r')
for line in ifh:
print(line)
第二循環就只打印如果我取消對第二文件句柄的文件。
這是爲什麼?
不應該沒有第二個工作?
我被玩弄的文件與Python,所以我寫了這一點:爲什麼我需要使另一個文件句柄再次讀取同一個文件?
ifh=open('2.txt','r')
for line in ifh:
print(line,end="")
print("Done")
#ifh=open('2.txt','r')
for line in ifh:
print(line)
第二循環就只打印如果我取消對第二文件句柄的文件。
這是爲什麼?
不應該沒有第二個工作?
這是因爲,第一循環結束後,ifh
目前的位置是在文件的結尾。那時,沒有更多數據要讀取。
再次讀取數據,你需要使用ifh.seek(0)
搬回到文件的開頭。
您是在文件的結尾,當您打印Done
。你可以做一個ifh.seek(0)
重新開始。
Do:ifh.seek(0)
第二次循環之前。
它,因爲你從文件中讀取所有行和seek
方法進入文件的第一個字節,你可以再次閱讀。
您也可以在for循環之前創建一個閉環。
while True:
for line in ifh:
print(line,end=" ")
非常感謝 – Sam 2013-03-27 07:40:00