Python文本文档翻译比较

时间:2015-03-17 02:57:33

标签: python for-loop compare

相当简单的问题。我正在尝试创建一个“翻译比较”程序,它读取并比较两个文档,然后返回不在另一个文档中的每个单词。这是一个初学者类,所以我试图避免使用模糊的内部方法,即使这意味着效率较低的代码。这就是我到目前为止......

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  

2 个答案:

答案 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 ca,然后b和{{1 (与原始代码中的b相对)

a