我有两个文本文件,file1
和file2
。
File1
包含一堆随机字词,file2
包含我想在file1
出现时删除的字词。
有没有办法做到这一点?
我知道我可能应该将自己的尝试包括在脚本中,至少要表现出努力,但说实话,这是可笑的,不会有任何帮助。
如果有人至少可以提示从哪里开始,我们将不胜感激。
答案 0 :(得分:7)
如果您将单词读入set
(每个文件一个),则可以使用set.difference()
。如果您不关心输出的顺序,则此方法有效。
如果您关心订单,请将第一个文件读入列表,将第二个文件读入一个集合,然后删除列表中集合中的所有元素。
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
给出:['a', 'fox', 'jumped', 'over', 'the', 'lazy', 'dog']
答案 1 :(得分:6)
得到每个人的话:
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()
如果你想要file1中不在file2中的唯一单词:
result = set(file1_words).difference(set(file2_words))
如果你关心从file1的文本中删除单词
for w in file2_words:
file1_raw = file1_raw.replace(w, "")