Python:为什么赢了';我的循环不是迭代的吗?
我有一段简单的python代码,它打开两个文件,循环遍历一个文件中的每个字符串,在另一个文件中查找匹配的字符串(或其中的一部分)。如果找到它,它应该将该行写入文件。出于某种原因,它没有遍历。这是我的密码:Python:为什么赢了';我的循环不是迭代的吗?,python,loops,Python,Loops,我有一段简单的python代码,它打开两个文件,循环遍历一个文件中的每个字符串,在另一个文件中查找匹配的字符串(或其中的一部分)。如果找到它,它应该将该行写入文件。出于某种原因,它没有遍历。这是我的密码: out = open("outputfile.txt", "w") with open("inputfile1.txt", "r") as f: with open("inputfle2.txt", "r") as map: for line in f:
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
的所有行并耗尽了生成器
您需要缓存地图的内容:
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)
当line
到达文件f
的第二行时,mline
已经读取了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)