文档打开之后,f = open('doc.txt', 'r') 通过 enumerate() 枚举,发现 f.readlines() 变成空列表 [] 啦?这是什么原因?
f = open('doc.txt', 'r')
for index, line in enumerate(f.readlines()):
print(index, line)
print(f.readlines())
f.close()
print(f.readlines()) 打印出来是空列表 []
1
felix021 2020-04-06 12:59:45 +08:00 1
f.readlines() 读取了文件的所有内容,这时候文件的读指针已经在末尾了。
|
2
jmc891205 2020-04-06 13:51:14 +08:00 1
因为你调用过 readlines 之后 the stream position 已经在文件末尾了
所以你再调用 readlines 就读不到任何东西了 要么你先用一个变量把 readlines 的返回值存一下 要么你在第二次调用 readlines 之前调用一下 seek |
3
aloxaf 2020-04-06 22:58:53 +08:00
题外话:这里直接 enumerate(f) 即可,.readlines() 多此一举(
|
4
Kobayashi 2020-04-07 00:03:47 +08:00 via Android
f.seek(0)
|