Python对比两个txt文件内容

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‘)                   #传入两文件的路径

对比结果如下

原文地址:https://www.cnblogs.com/yizhipanghu/p/9674221.html

时间: 2024-10-19 15:02:32

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

批量比较两个txt文件的内容

为了方便测试人员的测试,我们把检测到的数据保存在txt文件中,然后批量比较得出错误和遗漏的数据 txt 文件格式为下图所示,第一个值为类别,后四个为左上右下角坐标 ''' @author: Shang Tongtong @license: (C) Copyright 2019-present, SeetaTech, Co.,Ltd. @contact: [email protected] @file: txt_test.py @time: 19-7-19 上午10:49 @desc: 测试两张图

Selenium+Python参数化:读取TXT文件

概述 从Selenium模块化一文中,可以看出参数化的必要性,本文来介绍下读取外部txt文件的方法. 如何打开文件 打开文件有以下两个函数可以应用: 1.open(file_name,access_mode) file_name: 文件路径及名称: access_mode :访问方式,具体参数如下,,未提供参数,则默认为r: r:表示读取: w:表示写入: a:表示添加: +: 表示读写: b:表示2进制访问; 2.file函数 file()内建函数它的功能等于open(),如下根据文档说明可知

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

这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应用.主要参考了一些已有的博客内容,代码. 主要思路是首先利用一个做项目的形式,描述所做的问题,运行环境,和需要安装的库,然后写代码,此代码是在python2.7中运行,然后写出在python3.6中运行的代码,并详细解释python2.7和python3.6中python库的一些不同之处,最后详细的

比对两个Word文件内容是否一致的C#解决办法

using System; using System.Windows.Forms; using System.Diagnostics; using Microsoft.Office.Interop.Word; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(obj

Python3实现两个Excel文件内容比对

最近在工作中,需要人工比对大量的excel格式报表,刚好刚学了Pyhon入门基础知识,想着写个东西练练手,不但能提高代码编写能力,还能减轻工作量,提高工作效率.说干就干,简单的理了逻辑.首先,将目标表和源表的内容分别写入到字典中,Excel表中不确定有没有字段是唯一值,所以选择了行号作为key值,一行的内容放到list中,然后从源表中取一行去目标表中遍历.想好之后开始敲代码了,在代码编写过程中遇到很多的问题,都是遇到一个查一个.基本的比对功能实现后,就想着在加个日志记录下比对结果.写下此文记录下

AJAX传输本地txt文件内容

写一个按钮,点击后在指定的div里显示本地txt文件内容 在本地新建一个test.txt,里面随便写点内容就好. 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8" /> 5 </head> 6 <body> 7 <input type="button" id="btn_test" value=&quo

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 package Test03; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import jav

JAVA获取txt文件内容

JAVA 读取txt文件内容 通常,我们可以直接通过文件流来读取txt文件的内容,但有时可能会出现乱码!此时只要设置一下文件字符编码即可. 1 import java.io.BufferedReader; 2 import java.io.File; 3 import java.io.FileReader; 4 5 6 public class txttest { 7 /** 8 * 读取txt文件的内容 9 * @param file 想要读取的文件对象 10 * @return 返回文件内容

VBA读取可选择文件夹下可选择txt文件内容

Sub OneTxt() '打开一个txt文件 Dim Filename As Variant, extLine&, mArr() As String Dim i%, j% ChDir ThisWorkbook.Path Filename = Application.GetOpenFilename("Text Files (*.txt), *.txt", , "请选取档案", , MultiSelect:=True) j = 1 For k = 1 To U