Python检查文件中的数据

时间:2017-11-03 02:48:11

标签: python

我试图找出特定进程的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

请解释我如何实现我的最终目标以及我做错了什么?

1 个答案:

答案 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')