我被玩弄的文件与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