可以使用diff 模块对比文件的差别,然后以版本控制风格输出:

[oracle@pr ~]$ more test.py

import difflib

text1 = """text1:

thi jkn lkml

oop jk fsldkm

"""

text1_lines = text1.splitlines()

text2 ="""text2:

thi jkn lknl

op jk fsldkm

"""

text2_lines = text2.splitlines()

d = difflib.Differ()

diff = d.compare(text1_lines,text2_lines)

print '\n'.join(list(diff))

执行脚本输出如下:

[oracle@pr ~]$ python test.py

- text1:

? ^

+ text2:

? ^

- thi jkn lkml

+ thi jkn lknl

- oop jk fsldkm

? -

+ op jk fsldkm

符号含义说明表:

符号

含义说明

-

包含在第一个序列中,但不包含在第二个序列中

+

包含在第二个序列中,但不包含在第一个序列中

标致两个序列行存在增量差异

^

标致出两个序列行存在增量差异的字符

二 、生成美观的html 文档格式

[oracle@pr ~]$ more test1.py

import difflib

text1 = """text1:

thi jkn lkml

oop jk fsldkm

"""

text1_lines = text1.splitlines()

text2 ="""text2:

thi jkn lknl

op jk fsldkm

"""

text2_lines = text2.splitlines()

d = difflib.HtmlDiff()

print d.make_file(text1_lines,text2_lines) 执行脚本: [oracle@pr ~]$ python test1.py > diff.html

python difflib 源码_python difflib 模块相关推荐

  1. python 从源码讲解random模块

    目录 1.random.random() 2.random.uniform() 3.random.randrange() 4.random.randint() 5.random.choice() 6. ...

  2. python案例源码_python实例作品

    python java 调用 jar 包下载 jython jython 2.1 文章 curiousby 2016-08-01 697浏览量 CrazyWing:Python自动化运维开发实战 十. ...

  3. python底层源码_Python每天一分钟:解析python底层类的实现原理——竟然是type()

    上一篇文章中,我们介绍了使用python的type()函数来动态创建用户类的详细过程,读者可以自行翻看:Python每天一分钟:类定义进阶/炫技-使用type函数动态创建类. 那么本文将进一步介绍py ...

  4. pythonshutil模块源码_Python shutil模块

    shutil 模块 高级的 文件.文件夹.压缩包 处理模块 将文件内容拷贝到另一个文件中,可以部分内容 shutil.copyfileobj(fsrc, fdst[, length]) 例子 impo ...

  5. python内存管理和释放_《python解释器源码剖析》第17章--python的内存管理与垃圾回收...

    17.0 序 内存管理,对于python这样的动态语言是至关重要的一部分,它在很大程度上决定了python的执行效率,因为在python的运行中会创建和销毁大量的对象,这些都设计内存的管理.同理pyt ...

  6. VS2019编译python解释器源码及学习方法

    Python源码编译   Python是当下很火的一门编程语言,在人工智能.数据分析.后端开发等领域可谓是人人都会的语言,在用python实现各种应用服务的同时,估计很少有人去关注python的实现, ...

  7. Python查看源码

    Python查看源码 模块源码 import module module.__file__查看模块文件源码位置 module. __ name __查看模块名字 dir(module)显示模块所有方法 ...

  8. python解释器源码 pdf_《python解释器源码剖析》第0章--python的架构与编译python

    本系列是以陈儒先生的<python源码剖析>为学习素材,所总结的笔记.不同的是陈儒先生的<python源码剖析>所剖析的是python2.5,本系列对应的是python3.7. ...

  9. Tengine怎么去安装第三方模块、以及安装源码中的模块

    Tengine怎么去安装第三方模块 检查配置文件nginx.conf的内容编辑后是否有错误 nginx -t 有以下错误,需要下载第三方模块 nginx: [emerg] unknown direct ...

最新文章

  1. 存储过程中SELECT与SET对变量赋值
  2. 【天线】天线基础:名词解释
  3. Android中从assets资源中读取图片文件并保存到内部存储器并加载显示在ImageView中
  4. lnmp环境脚本自动配置
  5. 在django中使用celery
  6. WinCE Boot方式及 Bootloader架构概述
  7. Xcode的Architectures和Valid Architectures的区别
  8. 编写vbs脚本发送邮件
  9. 程序员新年要实现的10个愿望
  10. 你和文字,陪我行走岁月
  11. Python Numpy中transpose()函数的使用
  12. Unity - Timeline 之 Activation track properties(激活轨道的属性)
  13. get和post用法和区别总结
  14. python中patch的使用
  15. 一次苦中作乐的追码过程(上)
  16. 0人报名!清华转专业20+学科无人问津引热议,网友:一切为了吃饭
  17. HTML网页设计期末课程大作业 ~中国茶文化5页面带轮播(HTML+CSS+JS)~ 学生网页设计作业源码
  18. 名帖291 董其昌 行书《乐志论》
  19. $(dirname $0)
  20. Json 格式化工具类 支持Jackson、FastJson、Gson

热门文章

  1. NPOI 设置合并后的单元格的边框的解决方法
  2. 如何在Android上创建透明活动?
  3. Activiti(6.0)任务管理服务TaskaskService
  4. Git命令:git常用命令
  5. android c++ http,开源一个C++实现的简单HTTP协议处理库
  6. 线索二叉树是一种什么结构_技术面试之常用的数据结构
  7. 边框的复合写法(HTML、CSS)
  8. 测试类什么时候初始化
  9. 使用awt制作一个简易加法计算器
  10. CSS 用户界面样式