comparar dos archivos de texto y eliminar duplicados en Python

Tengo dos archivos de texto, file1 y file2 .

File1 contiene un montón de palabras aleatorias, y file2 contiene palabras que quiero eliminar de file1 cuando ocurren. ¿Hay alguna forma de hacer esto?

Sé que probablemente debería incluir mi propio bash de un guión, al menos para mostrar esfuerzo, pero para ser sincero, es ridículo y no sería de ninguna ayuda.

Si alguien pudiera al menos dar una sugerencia sobre dónde comenzar, sería muy apreciado.

Recibe las palabras de cada uno:

 f1 = open("/path/to/file1", "r") f2 = open("/path/to/file2", "r") file1_raw = f1.read() file2_raw = f1.read() file1_words = file1_raw.split() file2_words = file2_raw.split() 

si quieres palabras únicas de file1 que no están en file2:

 result = set(file1_words).difference(set(file2_words)) 

Si te importa eliminar las palabras del texto de file1

 for w in file2_words: file1_raw = file1_raw.replace(w, "") 

Si lees las palabras en un set (una para cada archivo), puedes usar set.difference() . Esto funciona si no te importa el orden de la salida.

Si le importa el orden, lea el primer archivo en una lista, el segundo en un conjunto y elimine todos los elementos de la lista que están en el conjunto.

 a = ["a", "quick", "brown", "fox", "jumped", "over", "the", "lazy", "dog"] b = {"quick", "brown"} c = [x for x in a if not x in b] print c 

da: ['a', 'fox', 'jumped', 'over', 'the', 'lazy', 'dog']