比较sql文件时将.txt文件写入比较

时间:2016-12-16 09:32:18

标签: python writer

所以我尝试使用Python脚本比较多个表。实际的比较工作,使用print语句测试,但写入.txt文件不是。我相信我的语法可能有错误,虽然对Python来说相对较新,但我无法找到它。

for num in range(0, 4): #runs through the database array and compares the files in each folder
    comp_var = directory + server_number[size] + databases[num]
    for file in os.listdir(comp_var):     
        for num1 in  os.listdir(master + databases[num]):  
            var = master + databases[num] + "\\" + os.listdir(master + databases[num])[size]
            for line in open(var, 'r'):
                for line2 in open(comp_var + "\\" + file, 'r'):
                    same = set(line).intersection(line2)
                    print(same)
                same.discard('\n')
            with open('results.txt', 'w') as file_out:
                for line1 in same:
                    file_out.write(line1)
            size = size + 1
            comp_var = directory + server_number[size] + databases[num]            
        size = 0

2 个答案:

答案 0 :(得分:0)

您的问题是每次调用open时都会创建一个新文件。您应该使用“a”附加到文件,这可能是您想要的。

答案 1 :(得分:0)

您正在覆盖results.txt

with open('results.txt', 'w') as file_out:

将其更改为:

with open('results.txt', 'a') as file_out:

来自Python documentation

  

'w'仅用于写入(将删除具有相同名称的现有文件),'a'打开要附加的文件;写入文件的任何数据都会自动添加到最后。