difflib模块作为python的标准库模块,无需安装,作用是比对文本之间的差异,且支持输出可读性比较强的html格式。

#!coding=utf-8
# 2018-9-19
import sys
import difflib # 读取配置文件函数
def read_file(file_name):
try:
file_handle = open(file_name, 'r')
text = file_handle.read().splitlines() # 读取后以行进行分割
file_handle.close()
return text
except IOError as error:
print 'Read file Error: {0}'.format(error)
sys.exit() # 比较两个文件并输出html格式的结果
def compare_file(file1_name, file2_name):
if file1_name == "" or file2_name == "":
print '文件路径不能为空:file1_name的路径为:{0}, file2_name的路径为:{1} .'.format(file1_name, file2_name)
sys.exit()
text1_lines = read_file(file1_name)
text2_lines = read_file(file2_name)
diff = difflib.HtmlDiff() # 创建htmldiff 对象
result = diff.make_file(text1_lines, text2_lines) # 通过make_file 方法输出 html 格式的对比结果
# 将结果保存到result.html文件中并打开
try:
with open('result.html', 'w') as result_file: #同 f = open('result.html', 'w') 打开或创建一个result.html文件
result_file.write(result) #同 f.write(result)
except IOError as error:
print '写入html文件错误:{0}'.format(error) if __name__ == "__main__":
compare_file(r'D:\a.txt', r'D:\b.txt') #传入两文件的路径

对比结果如下

Python对比两个txt文件内容的更多相关文章

  1. 如何比较两个txt文件内容的细微差别

    如何比较两个txt文件内容的细微差别 https://jingyan.baidu.com/article/19020a0a1dd04a529c284272.html 听语音 | 浏览:3500 | 更 ...

  2. [Python]python去除两个txt文件的重复词汇 python 2020.2.10

    两个txt文件词汇,用换行符分隔.可以用代码将要处理的文件去掉另一个文件所包含的重复内容. 如: a.txt内容为: 衡山 泰山 西湖 紫禁城 b.txt内容为: 泰山 衡山 长白山 张三丰 将a.t ...

  3. 深入学习Python解析并解密PDF文件内容的方法

    前面学习了解析PDF文档,并写入文档的知识,那篇文章的名字为深入学习Python解析并读取PDF文件内容的方法. 链接如下:https://www.cnblogs.com/wj-1314/p/9429 ...

  4. 深入学习python解析并读取PDF文件内容的方法

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  5. Java基础-输入输出-2.编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt

    2.编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt ...

  6. java读取txt文件内容

    package read; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; public ...

  7. Java 读取 txt 文件内容到容器 List

    方法一: 一.桌面上准备 DataObject.txt 文件,内容为: 二.打开 Eclipse,编写代码如下: import java.io.BufferedReader; import java. ...

  8. JAVA获取txt文件内容

    JAVA 读取txt文件内容 通常,我们可以直接通过文件流来读取txt文件的内容,但有时可能会出现乱码!此时只要设置一下文件字符编码即可. public class txttest { /** * 读 ...

  9. php:比较两个txt文件,格式如下,分别取出a.txt有的b.txt没有的,b.txt有的a.txt没有的及两个都有的

    <?php /*比较两个txt文件,格式如下,分别取出a.txt有的b.txt没有的,b.txt有的a.txt没有的及两个都有的 * a.txt: * A * B * C * D * b.txt ...

随机推荐

  1. 【NCRE】三级网络技术 选择题易错点记录(1)

    部分易错点 连接到一个集线器的多个节点不能同时发送数据帧 嵌入式安装插座用来连接双绞线 异步串行端口 PPP 同步串行端口 PPP/HPLC 对于频繁改变位置并使用DHCP获取IP地址的DNS客户端, ...

  2. 关于GWAS的质量控制步骤顺序疑问?不同指导不同文献的建议各不相同。

          事情是这样的,刚开始接触GWAS就一定会接触到数据质量控制这个东西.我们可以看到网络上各种各样的指导,都是分为individual quality control and snp quan ...

  3. (数据科学学习手札119)Python+Dash快速web应用开发——多页面应用

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 这是我的系列教程Python+Dash快速web ...

  4. 基于MATLAB的手写公式识别(7)

    今天晚上通过对原有T4模型的修改实现: 1.可以识别真彩图形.(这基本是一样大的,通过这个了解图像分割的原理) 2.在识别心脑管血药类的基础上实现数字的识别.(了解图像识别原理,熟练掌握图像分割技术) ...

  5. 【ElasticSearch】ElasticSearch集群扫盲

    Cluster 集群 ⼀个 Elasticsearch 集群由⼀个或多个节点(Node)组成,每个集群都有⼀个共同的集群名称作为标识.   Node节点 ⼀个 Elasticsearch 实例即⼀个 ...

  6. SpringAOP_构造注入实现

    SpringAOP_构造注入实现 AOP_面向切面编程初步了解 让我们先想象一个场景,你正在编写一个项目,在开发过程中的多个模块都有某段重复的代码,于是你选择将其抽象成一个方法,然后在需要的地方调用这 ...

  7. 从苏宁电器到卡巴斯基第15篇:我在苏宁电器当营业员 VII

    我们苹果的倒班制度 当年我在苏宁的时候,实行的是单休制度,而且只能选择在周一到周五其中的某一天,因为周六周日顾客比较多,是不允许休息的.尽管是单休,但并不表示我们在上班的时候每天都要完完整整地上八小时 ...

  8. 洛谷P1307 数字反转

    题目描述 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2). 输入输出格式 输入格式: 输入 ...

  9. AsSystemRum 系统提权工具 实现思路及其源码

    名字:     AsSystemRun 功能:     用system权限启动一个进程. 开发语言:   C++,C# 作者:     Ack-Code 开发时间: 2016.9.15 实现原理: w ...

  10. pr恢复工作区

    当工作区操作的位置很乱时 平时如果关闭的窗口,可以在窗口中查看 也可以选择新建工作区,保存成一个自己所需工作区