我试图比较两个文本文件并输出比较文件中的第一个字符串,该字符串不匹配但由于我是python的新手而遇到困难.有人可以给我一个使用这个模块的示例方法.
当我尝试这样的事情:
result = difflib.SequenceMatcher(None, testFile, comparisonFile)
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,说'file'类型的对象没有len.
Tri*_*ych 33
对于初学者,您需要将字符串传递给difflib.SequenceMatcher,而不是文件:
# Like so
difflib.SequenceMatcher(None, str1, str2)
# Or just read the files in
difflib.SequenceMatcher(None, file1.read(), file2.read())
Run Code Online (Sandbox Code Playgroud)
这无论如何都会修复你的错误.为了获得第一个不匹配的字符串,我将引导您进入difflib文档的精彩世界.
这是一个使用Python difflib比较两个文件内容的快速示例...
import difflib
file1 = "myFile1.txt"
file2 = "myFile2.txt"
diff = difflib.ndiff(open(file1).readlines(),open(file2).readlines())
print ''.join(diff),
Run Code Online (Sandbox Code Playgroud)
你确定这两个文件都存在吗?
刚测试它,我得到了一个完美的结果.
为了得到结果,我使用如下:
import difflib
diff=difflib.ndiff(open(testFile).readlines(), open(comparisonFile).readlines())
try:
while 1:
print diff.next(),
except:
pass
Run Code Online (Sandbox Code Playgroud)
每行的第一个字符表示它们是否不同:例如:'+'表示已添加以下行等.
| 归档时间: |
|
| 查看次数: |
69609 次 |
| 最近记录: |