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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏along的开发之旅

Permission Denial: not allowed to send broadcast in android

因为最近项目里Intent用到了广播”android.intent.action.MEDIA_MOUNTED”, 结果被提示权限不足, 查了下原因, 是因为从4...

8061
来自专栏行者常至

将oracle驱动包加到maven中

2、确认maven环境变量已整确(cmd 中执行 mvn -v 显示maven的版本信息);

883
来自专栏向治洪

android混淆和反编译

混淆 Android Studio: 只需在build.gradle(Module:app)中的buildTypes中增加release的编译选项即可,...

2578
来自专栏软件开发

HTML5 学习总结(五)——WebSocket与消息推送

B/S结构的软件项目中有时客户端需要实时的获得服务器消息,但默认HTTP协议只支持请求响应模式,这样做可以简化Web服务器,减少服务器的负担,加快响应速度,因为...

3808
来自专栏V站

PHP实现检测客户端是否使用代理服务器及其匿名级别

REMOTE_ADDR 是你的客户端跟你的服务器“握手”时候的IP。如果使用了“匿名代理”,REMOTE_ADDR将显示代理服务器的IP。

35612
来自专栏bboysoul

网站信息收集工具RED_HAWK

安装使用很简单,首先安装上php,然后git clone下来用php运行就好了 git clone https://github.com/Tuhinshubh...

1092
来自专栏软件开发

WebSocket与消息推送

B/S结构的软件项目中有时客户端需要实时的获得服务器消息,但默认HTTP协议只支持请求响应模式,这样做可以简化Web服务器,减少服务器的负担,加快响应速度,因为...

7125
来自专栏运维一切

ceph mon自行shutdown故障记录 原

主要在这个“reached critical levels of available space on local monitor storage”,如果mon...

831
来自专栏我的博客

Nginx前端,apache后端获取真实IP

http://www.stderr.net/apache/rpaf/download/ 需要使用apxs命令(这个命令在httpd-devel,可以使用yum ...

3106
来自专栏java 成神之路

数据库事务详解

4047

扫码关注云+社区

领取腾讯云代金券