gpt4 book ai didi

Python:为什么我的循环不迭代?

转载 作者:太空宇宙 更新时间:2023-11-04 10:13:10 26 4
gpt4 key购买 nike

我有一段简单的 python 代码可以打开两个文件,并循环遍历一个文件中的每个字符串,在另一个文件中查找匹配的字符串(或其中的一部分)。如果找到它,它应该将该行写入文件。由于某种原因,它没有迭代。这是我的代码:

out = open("outputfile.txt", "w")
with open("inputfile1.txt", "r") as f:
with open("inputfle2.txt", "r") as map:
for line in f:
for mline in map:
if line[0:6] in mline:
out.write(line)

由于某种原因,生成的输出文件仅包含一行。我已经检查了该行并且它是正确的,所以代码正在执行我想要的操作但是由于某种原因循环没有遍历这两个文件。我知道有一个明显的解决方案,但数小时的搜索和摆弄我的代码没有产生任何结果。

最佳答案

line 到达文件 f 的第二行时,mline 已经读取了 map 的所有行 并耗尽了发电机。

您需要缓存 map 的内容:

out = open("outputfile.txt", "w")

with open("inputfle2.txt", "r") as map:
map_lines = map.readlines()

with open("inputfile1.txt", "r") as f:
for line in f:
for mline in map_lines:
if line[0:6] in mline:
out.write(line)

关于Python:为什么我的循环不迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37048842/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com