如何从两个文件中的一个文件中查找所有字符串,文本-Python

时间:2019-01-14 14:42:45

标签: python-3.x

我有:

dane.txt

ala
cot
bat
napaaaa
tom

蝙蝠汤姆知道的物品

dane1.txt

bat
tom

如何在dane中找到dane1中的所有字符串和文本。

#!/usr/bin/env python

zrodlo1 = open('dane.txt', 'r')
zrodlo2 = open('dane1.txt', 'r')
docelowe = open('wynik.txt', 'w')

for wiersz2 in zrodlo2:
    for wiersz1 in zrodlo1:        
        if wiersz1 == wiersz2:
            docelowe.write(wiersz2)

docelowe.close()
zrodlo1.close()
zrodlo2.close()

2 个答案:

答案 0 :(得分:0)

这是根据您更新的要求而更新的答案。

import re

def find_words(filename, regex_patterns):
  with open(filename, 'r') as file:
     words = file.read().splitlines()
     for word in words:
       if any(regex.findall(word) for regex in regex_patterns):
          with open('found_words.txt', 'a') as outfile:
            outfile.writelines(word + ('\n'))

            ####################
            #      output
            ####################
            # ala is akaakkaka 
            # house adam 
            # ala
            ####################

def generate_word_list(word_list_file):
  with open(word_list_file, 'r') as file:
    text = file.read().splitlines()
    regex_patterns = [re.compile(item) for item in text]
    find_words('dane.txt', regex_patterns)


generate_word_list('dane1.txt')

答案 1 :(得分:0)

好的,谢谢,但是我修改了文件并且无法正常工作: 我需要找到所有有ala和adam的行。

dane.txt

ala是akaakkaka
托梅克
阿图尔
亚当之家
ala

dane1.txt

ala
亚当

some_output_file.txt

ala是akaakkaka
亚当之家
ala