中间第二个for循环不执行请问是什么情况呢?

with open(r'C:\Users\Administrator\Desktop\Q2_2.txt', 'r') as f2:
dict_line = {}
for line1 in f2.readlines():
line1 = line1.rstrip()
count_line = 0
if line1 not in dict_line.keys():
for line2 in f2.readlines():
line2 = line2.rstrip()
if line1 == line2:
count_line += 1
dict_line[line1] = count_line
print(dict_line)
with open(r'C:\Users\Administrator\Desktop\Q2_3.txt', 'w') as f3:
f3.write(str(dict_line))
f3.close()
f2.close()

烙印99
浏览 155回答 2
2回答

蝴蝶不菲

read类函数中有指针,当使用一次函数获取内容时指针会跳到下一行,最后一行输入后在使用read类函数就会读取不出内容使用readlines后,再去使用它的指针会跳到最后面就读出出来了可以用seek(指针位置)更改指针位置在第二个for循环前面加个seek(0)

繁花不似锦

readlines()方法执行后,寻址位置标记到了文本的结束位置。再次执行(也就是你的第2个for),从该位置往后读取,已经没有内容了,自然不会执行了。如果一定要这样读取。在for line2 in f2.readlines():前面,添加一句f2.seek(0)也就是把寻址位置重新设置到文件开头。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python