Python一起来找茬—difflib模块

发布时间:2020-08-22 01:27:08

来源:51CTO

阅读:1329

模块difflib

比较并找出两个文本内容的不同

import difflib

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.

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

result = list(d.compare(text1,text2))

result = ''.join(result)

print(result)

"""

运行结果以文本行方式显示,不容易理解

"""

#第二种方式:

d = difflib.HtmlDiff()

with open('diffirent.html','w') as f:

f.write(d.make_file(text1,text2))

"""

生成一个html文件,用浏览器打开,会显示两个文本内容的不同之处

"""

第一种方式:

第二种方式:

直接比较两个文件:

import difflib

file1 = '/etc/passwd'

file2 = '/tmp/passwd'

with open(file1) as f1,open(file2) as f2:

text1 = f1.readlines()

text2 = f2.readlines()

d = difflib.HtmlDiff()

with open('passwd.html','w') as f:

f.write(d.make_file(text1,text2))

difflib模块_Python一起来找茬—difflib模块相关推荐

  1. python difflib模块_Python一起来找茬—difflib模块

    模块difflib 比较并找出两个文本内容的不同 import difflib text1="""1. Beautiful is better than ugly. 2. ...

  2. python日志模块_Python之日志处理(logging模块)

    转载自:https://www.cnblogs.com/yyds/p/6901864.html 本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logg ...

  3. python中os模块_Python的武器库11:os模块

    说到编程语言python,有一个著名的格言"余生太短,只用python".如果要分析为什么会存在这么一句格言?python的语法并不简单,有复杂难懂的部分,之所以有这样一句格言,是 ...

  4. python 异常处理模块_Python Exceptions 异常处理全过程以及异常模块详细解析

    1.异常的定义 程序运行时检测到错误而导致解释器无法继续执行,反而出现一些错误的提示 2.捕捉异常全过程(重点) try: print("可能产生异常的代码") except Ex ...

  5. python excel处理模块_Python(00):openpyxl模块处理Excel文件

     首先贴出四种方法适用范围比较: 注释:Excel 2003 即XLS文件有大小限制即65536行256列,所以不支持大文件.而Excel 2007以上即XLSX文件的限制则为1048576行163 ...

  6. dllimport 找不到指定的模块_Python语法基础(15)模块与包

    模块与包 模块 Python 中一个以 .py 结尾的文件就是一个模块,模块中定义了变量.函数等来实现一些类似的功能.Python 有很多自带的模块(标准库)和第三方模块,一个模块可以被其他模块引用, ...

  7. python http模块_python 基础之http,os模块,正则

    os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcwd:得 ...

  8. python的opencv模块_Python图像识别精讲之OpenCV模块(1)

    写在前面: OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效--由一系列 C 函数和少量 ...

  9. python中的正则表达式re模块_python中的正则表达式(re模块)

    一.简介 正则表达式本身是一种小型的.高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配.正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎 ...

最新文章

  1. ASP.NET 内置对象
  2. java平衡二叉树,最全Java知识总结
  3. yum的方式安装mysql_Linux安装mysql之yum安装方式
  4. php domdocument getattribute,PHP DOMElement getAttribute()用法及代码示例
  5. stable_sort
  6. 【机器学习】用PyCaret创建整个机器学习管道
  7. Openwrt系统初始时间
  8. html5 实现坦克大战,HTML5实现坦克大战(一)
  9. python 日志输出变量_python中记录打印的log模块logging的用法实例
  10. test.php变成夏总,test.php
  11. 网格搜索、随机搜索和贝叶斯调参总结与python代码实践
  12. Android中向ContactsProvider中插入大量联系人
  13. Shottr 免费好用的Mac 截屏软件
  14. 山东理工大学acm非专业程序设计基础答案
  15. 内置单片机的433无线模块高速连传典型运用
  16. 怀旧服ouf头像插件_魔兽世界怀旧服EUI插件 V9.0.1.6 官方版
  17. Myeclipse提示MyEclipse Trial Expired
  18. 安装Brat标记工具
  19. 一个陪我聊天的微信机器人,满足加班打工人寂寞灵魂~
  20. 【TouchDesigner】三维渲染

热门文章

  1. 解决更改mysql密码时报错Your password does not satisfy the current policy requirements问题
  2. HTML制作简单网页(京东新闻资讯页,歌曲推荐网页)
  3. 嵌入式系统与通用计算机系统的区别,嵌入式操作系统和通用计算机系统的区别是什么...
  4. 打包aab_聚餐买单AA制已经过时了 AAB制、AABB制、BBK制,你选哪个?
  5. ASP.NET Core 托管和部署(一)【Kestrel】
  6. 台阶的意思_台阶词语解释
  7. 计算机系统中常用的进制,计算机中常用 二进制 八进制 十进制 十六进制的特点...
  8. 聊聊如何度过寒冬(公司篇)
  9. IC设计工程师的职业规划
  10. 远程服务器创建文件,ftp创建远程服务器文件夹