首页 > 解决方案 > 在读取文件 Python 3 时进入循环的问题

问题描述

我的代码有问题 - 它没有进入“for line in f2”循环。此代码应该比较两个文件,如果一个文件中第 0 列中的字符串与第二个文件中第 1 列中的搅拌匹配,则将其写入文件。

我是 Python 的初学者,所以我不知道出了什么问题。我尝试调试,但没有提供任何帮助。有谁知道我做错了什么?

f1=open("D:\\bowtie2\\posortowane_cale_test.csv","w")
with open("D:\\bowtie2\\dobazy228k_test.csv") as f:
    for yy in f:
        y=yy.split(";")
        #print(y)
        #sp1=y[1]
    with open ("D:\\bowtie2\\zliczone_test.csv") as f2:
        for xx in f2:
            xx=xx[0:len(xx)-1]
            x=xx.split(";")
        for line in f2:
            sp1=y[0]
            sp2=x[1]
            print("bb")
            if sp1==sp2:
                print("aaa")
                f1.write(x[1]+";"+y[0]+"\n")#";"+x[1]+";"+x[2]+";"+x[3]+";"+x[6]+";"+x[7]+";"+x[8]+";"+sp1+"/"+sp2+"\n")
    f2.close()
f.close()
f1.close()

标签: pythonfile

解决方案


在第一次完整读取后,使用f2.seek(0)再次跳转到文件的开头。即使您没有直接使用读取方法,读取指针仍会移动到最后一个读取字节/字符之后的位置。


推荐阅读