Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:为什么赢了';我的循环不是迭代的吗?_Python_Loops - Fatal编程技术网

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:

我有一段简单的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
的所有行并耗尽了生成器

您需要缓存
地图的内容:

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)