所以我尝试使用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
答案 0 :(得分:0)
您的问题是每次调用open时都会创建一个新文件。您应该使用“a”附加到文件,这可能是您想要的。
答案 1 :(得分:0)
您正在覆盖results.txt
。
with open('results.txt', 'w') as file_out:
将其更改为:
with open('results.txt', 'a') as file_out:
'w'
仅用于写入(将删除具有相同名称的现有文件),'a'
打开要附加的文件;写入文件的任何数据都会自动添加到最后。