我创建了一个txt.file,其中包括五个其他文本文件(全部为text.txt)。我也有一个文本文件,每行都有单词(删除words.txt)。我想从alltext.txt中删除removewords.txt中的单词,而无需创建新的文本文件,也无需手动从removewords.txt中编写单词。
我曾经考虑过使用集合,但是如何处理呢?
我的文件合并如下:
files=["file1.txt", "file2.txt"...."file5.txt"]
with open("compare_out.txt", "w") as fout:
for file in files:
with open (file) as complete_file:
for line in complete_file:
fout.write(line)
有什么建议吗?非常感谢
答案 0 :(得分:0)
我将执行以下操作:
remove_words
的列表中all_words
的列表中"w"
)打开文件“ alltext.txt”,并按以下方式向其写入内容:
all_words
中的每个单词,检查该单词是否在列表remove_words
中。如果不是,请将其写入“ alltext.txt” 这些步骤是否足够详细,以便您可以解决问题?
如果没有,请在下面评论您遇到的问题。
答案 1 :(得分:0)
如果这不是问题,则可以使用split
将所有要删除的单词加载到集合中,然后在将每个单词写入输出文件之前对其进行检查。
分割(Split)根据定界字符将字符串分成多个列表元素-对于单词,我们可以使用空格字符" "
来将每个单词与其他单词分开。
rm_word_file = open('removewords.txt', 'r')
remove_words = set(rm_word_file.read().split(" "))
rm_word_file.close()
files=["file1.txt", "file2.txt"...."file5.txt"]
with open("compare_out.txt", "w") as fout:
for file in files:
with open (file) as complete_file:
for line in complete_file:
for word in line.split(" "):
if(word not in remove_words):
fout.write(line)
还有其他需要考虑的问题,如果文本正文中存在标点符号,您将如何处理?
您可以删除所有标点符号,但是将其和它一起当作一个单词使用,这可能不是预期的行为。