相当简单的问题。我正在尝试创建一个“翻译比较”程序,它读取并比较两个文档,然后返回不在另一个文档中的每个单词。这是一个初学者类,所以我试图避免使用模糊的内部方法,即使这意味着效率较低的代码。这就是我到目前为止......
def translation_comparison():
import re
file1 = open("Desktop/file1.txt","r")
file2 = open("Desktop/file2.txt","r")
text1 = file1.read()
text2 = file2.read()
text1 = re.findall(r'\w+',text1)
text2 = re.findall(r'\w+',text2)
for item in text2:
if item not in text1:
return item
答案 0 :(得分:1)
您可以尝试这样的事情
#######Test data
#file1.txt = this is a test
#file2.txt = this a test
#results#
#is
def translation_comparison():
with open("file1.txt", 'r') as f1:
f1 = f1.read().split()
with open("file2.txt", 'r') as f2:
f2 = f2.read().split()
for word in f1:
if word not in f2:
print(word)
translation_comparison()
使用
也是一种好习惯with open("file1.txt", 'r') as f1:
f1 =f1.read().split()
因为当用于打开文件时,它将在您不使用它时关闭该文件。 Python非常擅长发布和管理内存,但确保你发布或调用
总是好习惯file1.close()
当你完成。
答案 1 :(得分:1)
假设您希望逐字比较,例如针对a b c
的{{1}}将返回b a c
和a
,然后b
和{{1 (与原始代码中的b
相对)
a