python开发_difflib字符串比较
在python的difflib中
HtmlDiff:比较后以html方法展示
我们比较的是字符串:
'hello world!' 和 'hElLO Wor2d!'
具体代码:
1 from difflib import * 2 import os 3 4 def write(): 5 if os.path.exists('E:\\info.html'): 6 with open('E:\\info.html','w+') as fp: 7 test = HtmlDiff.make_file(HtmlDiff(), 'hello world!', 'hElLO Wor2d!') 8 fp.write(test) 9 print('生成文件成功!') 10 fp.close() 11 12 13 def main(): 14 write() 15 16 if __name__ == '__main__': 17 main()
运行代码:
1 import difflib 2 3 test = difflib.Differ().compare('hello world', 'HeLLO,wOrlD!') 4 print('横向展示:') 5 print(''.join(list(test))) 6 print('#' * 50) 7 test = difflib.Differ().compare('hello world', 'HeLLO,wOrlD!') 8 print('纵向展示:') 9 print('\n'.join(list(test)))
运行代码:
1 import difflib 2 3 def test(): 4 test = difflib.SequenceMatcher(lambda x: x == " ", 'hello world', 'HeLLO,wOrlD!') 5 for block in test.get_matching_blocks(): 6 print("a[%d] and b[%d] match for %d elements" % block) 7 8 def main(): 9 test() 10 11 if __name__ == '__main__': 12 main()