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()

differ

运行代码:

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)))

SquenceMatcher

运行代码:

 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()

 

posted @ 2013-08-06 21:05  Hongten  阅读(13405)  评论(0编辑  收藏  举报
Fork me on GitHub