我试图找出特定进程的python代码。如果file1中的任何行不在file2中,我想将file2的内容追加到file3。我尝试了一个嵌套的for循环,我只是编写测试数据以确保迭代正常工作。我只收到与int text2.txt相同数量的行,我希望它的响应是text2中的行数乘以text1中的行数。
file1=open(text1.txt, 'r+')
file2=open(text2.txt, 'r+')
file3=open(text3.txt, 'a+')
for line1 in file1:
for line2 in file2:
if line1==line2:
file3.write("same" + '\r\n')
else:
file3.write("different" + '\r\n')
实施例
file1
Tom
Harry
file2
Harry
Tom
Lilly
Print nothing in file3.
File1 is the same as above
File2
Harry
Lilly
David
File3 should read *I understand my code doesn't read this way today.
Harry
Lilly
David
File3 reads today
different
different
different
File3 what I expected
different
different
different
same
different
different
请解释我如何实现我的最终目标以及我做错了什么?
答案 0 :(得分:0)
将两个文件内容读入两个列表,并使用运算符检查一个列表中的元素是否在另一个列表中。也可以在写入模式下打开file3,追加模式将附加到以前的版本。
file1=open(text1.txt, 'r+')
file2=open(text2.txt, 'r+')
file3=open(text3.txt, 'a+')
for line1 in file1:
if line1 in file2:
file3.write("same" + '\r\n')
else:
file3.write("different" + '\r\n')