首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何比较两个文本文件,如果文本文件中的字符串行存在于另一个文本文件中,然后输出字符串行

如何比较两个文本文件,如果文本文件中的字符串行存在于另一个文本文件中,然后输出字符串行
EN

Stack Overflow用户
提问于 2018-12-19 07:00:47
回答 1查看 0关注 0票数 0

我有两个我要比较的文本文件,看看它们的某些行是否匹配。我的想法是从第一个文件中选择第一行并将其与第二个文件中的每一行进行比较,如果找到匹配,则输出该行,否则程序进入第二行。我怎么能在python上做到这一点?

代码语言:javascript
复制
this is what i have so far,

import difflib
first_file=np.genfromtxt('1secfiles.txt')
second_file=np.genfromtxt('KPfiles.txt')

#convert content to list of strings
first_file_lines = open(first_file).readlines()
second_file_lines = open(second_file).readlines()

现在我不知道如何为第一个文件中的行定义变量,并将其与第二个文件中的所有行进行比较

EN

回答 1

Stack Overflow用户

发布于 2018-12-19 16:42:56

这可以通过使用Python字典来改进:

  1. 读取文件1,将每一行作为键插入到dict中。
  2. 读取文件2,将每一行作为键插入单独的字典中
  3. 通过dict 1迭代:“对于dict 1中的每个键,如果键存在于dict 2中,则打印键”。

`

代码语言:javascript
复制
dict1 = {}  

dict2 = {}  

with open('file1.txt', 'r') as f:  
    for line in f:  
        dict1[line] = None  

with open('file2.txt', 'r') as f:  
    for line in f:  
        dict2[line] = None 

for key in dict1:  
    if key in dict2:  
        print(key)  

这是O(n + m + n)= O(2n + m)的解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档