博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python———difflib模块之文本对比
阅读量:3938 次
发布时间:2019-05-24

本文共 1565 字,大约阅读时间需要 5 分钟。

1. 什么是difflib? 用来做什么?

difflib为python的标准库模块,无需安装。
作用是对比文本之间的差异。
并且支持输出可读性比较强的HTML文档,与Linux下的diff命令相似。
在版本控制方面非常有用。

2. 符号理解

符号    含义
'-'     包含在第一个系列行中,但不包含第二个。
'+'     包含在第二个系列行中,但不包含第一个。
' '     两个系列行一致
'?'     存在增量差异
'^'     存在差异字符

text1 = '''  1. Beautiful is better than ugly.       2. Explicit is better than implicit.       3. Simple is better than complex.       4. Complex is better than complicated.        '''text2 = '''  1. Beautiful is better than ugly.       3.   Simple is better than complex.       4. Complicated is better than complex.       5. Flat is better than nested.     '''"""import difflibtext1 = '''  1. Beautiful is better than ugly.       2. Explicit is better than implicit.       3. Simple is better than complex.       4. Complex is better than complicated.        '''.splitlines(keepends=True)text2 = '''  1. Beautiful is better than ugly.       3.   Simple is better than complex.       4. Complicated is better than complex.       5. Flat is better than nested.     '''.splitlines(keepends=True)# d = difflib.Differ()# print(''.join(list(d.compare(text1,text2))))d = difflib.HtmlDiff()htmlContent = d.make_file(text1,text2)# print(htmlContent)with open('diff.html','w') as f:    f.write(htmlContent)

linux文件之间的对比

 

import difflibfilename1 = '/tmp/passwd'filename2 = '/tmp/passwd1'with open(filename1) as f1,open(filename2) as f2:    content1 = f1.read().splitlines(keepends=True)    content2 = f2.read().splitlines(keepends=True)d = difflib.HtmlDiff()htmlcontent = d.make_file(content1,content2)with open('passwdDiff.html','w') as f:    f.write(htmlcontent)

 

转载地址:http://eqdwi.baihongyu.com/

你可能感兴趣的文章
2.嵌入式开发环境搭建--(unbutu)系统
查看>>
Linux USB驱动分析之USB2.0协议分析
查看>>
关于iwpriv :no private ioctls 的问题
查看>>
SQL Server Union等操作时解决不同数据库字符集冲突的问题
查看>>
Linq GroupJoin(二)
查看>>
递归:访问页面的控件或文件夹的下文件
查看>>
DataGridView分頁控件
查看>>
Linq 使用entity framework查询视图返回重复记录的问题(转)
查看>>
项目中得到执行文件版本或其它信息
查看>>
WinForm DatagridView绑定大量数据卡顿的问题
查看>>
DataGridView或 DataTable导出到excel
查看>>
Ilist To DataTable
查看>>
SQL @@IDENTITY, IDENT_CURRENT,SCOPE_IDENTITY
查看>>
簡單工廠模式
查看>>
SQL Server的數據類型
查看>>
允許文本框輸入數字,退格鍵,小數點,負號
查看>>
SOLR的一些错误
查看>>
Linux下python升级步骤
查看>>
关于mongodb ,redis,memcache
查看>>
DEDECMS BUG汇总
查看>>