人生苦短,我学Python!

比如,我们在过去的某个时候写了一段代码。后来,我们由于业务需求,对代码做了部分改动。一段时间过去了,我们想不起来这段代码,究竟改动了哪里?

此时,本文讲述的这个功能,很好的帮助我们解决了这个问题。

这个功能属于filestools库系列功能中,另外一个超级好用的功能。

进行文本文件差异比较,我们需要提前导入如下库的file_diff_compare方法:

from filediff.diff import file_diff_compare

关于这个方法的使用说明,可以先了解一下。

file_diff_compare(file1, file2, diff_out='diff_result.html', max_width=70, numlines=0, show_all=False, no_browser=False)

file_diff_compare方法一共有7个参数,对这7个参数,分别介绍如下:

  • file1 / file2:待比较的两个文件,必须文本文件;

  • diff_out:差异结果保存的文件名(网页格式),默认值diff_result.html;

  • max_width:每行超过多少字符,就自动换行,默认值70;

  • numlines:在差异行基础上,前后显示多少行,默认是0;

  • show_all:只要设置这个参数就表示显示全部原始数据,默认不显示全部;

  • no_browser:设置这个参数,在生成结果后,不会自动打开游览器。当设置为False后,会自动打开浏览器;

接下来,用一个案例为大家实现文本文件差异比较的效果。

例如:曾经有一个a.txt文件,经过一段时间后,我对其中的内容做了修改,得到了最后的b.txt。

注明:此时这个文本文件内容很少,你用眼睛都可以看出哪里改动了,如果内容超级多呢?

操作很简单,2行代码就可以搞定。

from filediff.diff import file_diff_compare
file_diff_compare("a.txt", "b.txt")

此时,会在你的当前工作环境下,生成一个html网页文件。

双击打开,看看里面有啥!

我们分别为大家讲述图中3个单词的含义:

  • 黄色表示改动过的内容;

  • ②  绿色表示新添加过的内容;

  • 红色表示已经删除过的内容;

关于file_diff_compare方法,还有两个好用的参数,我们一起来看看吧。

1. show_all参数

只要设置这个参数就表示显示全部原始数据,默认不显示全部。

file_diff_compare("a.txt", "b.txt", show_all=True)

结果如下:

2. no_browser参数

设置这个参数,在生成结果后,不会自动打开游览器。当设置为False后,会自动打开浏览器。

file_diff_compare("a.txt", "b.txt", no_browser=False)

此时,系统会自动打开浏览器文件,省时省力!

如果你想详细学习filestools库,参考下方网站:

https://pypi.org/project/filestools/

我们的文章到此就结束啦,如果你喜欢今天的Python 实战教程,请持续关注菜鸟学Python。

推荐阅读:入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径量化: 定投基金到底能赚多少钱?  | 我用Python对去年800只基金的数据分析  干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|年度爆款文案1).卧槽!Pdf转Word用Python轻松搞定!2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密 4).80行代码!用Python做一个哆来A梦分身 5).你必须掌握的20个python代码,短小精悍,用处无穷 6).30个Python奇淫技巧集 7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货 8).再见Python!我要学Go了!2500字深度分析!9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图片点阅读原文,领AI全套资料!

2行Python就能实现 文本文件 差异比较,太强了!相关推荐

  1. Python就是牛,2行Python就能实现 文本文件 差异对比!

    比如,我们在过去的某个时候写了一段代码.后来,我们由于业务需求,对代码做了部分改动.一段时间过去了,我们想不起来这段代码,究竟改动了哪里? 此时,本文讲述的这个功能,很好的帮助我们解决了这个问题. 这 ...

  2. 用python爬取漫画,代入感太强了

    导语: 哈喽,哈喽~当有人给你安利了一部超级好看的漫画时. 你点进去看了一下,这画风,这剧情,代入感太强我现在宣布我就是女主了. 但是看着看着,要vip你又没有,这是什么人间疾苦啊!我的女主光环呢? ...

  3. python文本替换 数据库_用几行python代码实现大量文本文件里的文本替换

    """ 用python进行大量文本替换. 因为工作需要,有时候我们需要替换大量文本文件里的特定文字,用python可以帮我们非常简单快速的处理. 其中最下面的if语句,当 ...

  4. opencv c++ 寻找矩形框_基于Python的OpenCV人脸检测!OpenCV太强了!

    一.文章概述 本文将要讲述的是Python环境下如何用OpenCV检测人脸,本文的主要内容分为: 1.检测图片中的人脸 2.实时检测视频中出现的人脸 3.用运设备的摄像头实时检测人脸 二:准备工作 提 ...

  5. 基于Python的OpenCV人脸检测!OpenCV太强了!

    一.文章概述 本文将要讲述的是Python环境下如何用OpenCV检测人脸,本文的主要内容分为: 1.检测图片中的人脸 2.实时检测视频中出现的人脸 3.用运设备的摄像头实时检测人脸 二:准备工作 提 ...

  6. 在命令行窗口中看大片《星球大战》,太强了!

    今天看到一个非常有趣的网站,分享给大家,周末愉快! 这个网站需要telnet登录,telnet是个老古董程序了, 如果你用的是Windows 10 ,默认是关闭的,需要把它启用: 有了telnet 以 ...

  7. python udp 大文件_Python UDP服务器发送文本文件的行(Python UDP Server send lines of a text file)...

    Python UDP服务器发送文本文件的行(Python UDP Server send lines of a text file) 我需要模拟一个UDP服务器,它在无限循环中逐行发送文本文件的内容. ...

  8. python 读取txt文件中满足要求的行写到新文件中_python_文本文件里面随机抽取若干行,写入新的文本文件里面...

    原博文 2012-07-25 16:36 − 天一直阴沉沉的,真想早点下班啊...... 1 #encoding=utf-8 2 import random 3 from sets import Se ...

  9. DeepMind提图像生成的递归神经网络DRAW,158行Python代码复现

    作者 | Samuel Noriega 译者 | Freesia 编辑 | 夕颜 出品 | AI科技大本营(ID: rgznai100) [导读]最近,谷歌 DeepMInd 发表论文( DRAW: ...

最新文章

  1. 关于:last-child的一点见解
  2. java程序员从笨鸟到菜鸟之(七)一—java数据库操作
  3. 申请Bing Search API
  4. 漫画:IT人的大阅兵,十分精彩!
  5. 技术人生——解决问题的规律
  6. do还是doing imagine加to_imagine doing还是todo
  7. php 树状数组公式,PY个树状数组
  8. 注意!Python开发中最容易掉进去的10个坑!你遇到过那些
  9. JVM 内存管理机制
  10. 它们才是真正的数学家 寻找自然界中的数学
  11. 正经程序员是怎么完美度过元旦假期的?
  12. TP-link路由器设置界面展示
  13. 本科生和研究生差距到底有多大?
  14. list_for_each_entry解析
  15. 2022苹果春季发布会带来新款iPhoneSE价格预计2500左右
  16. 中国方案入选世界5G标准
  17. ElasticSearch 组合查询(must not_must should filter)
  18. 【移动安全实战篇】————5、Android屏幕解锁图案破解
  19. gnuradio android手机,常用的gnuradio 模块
  20. hive linux时间戳转换,Hive 中 时间戳,字符串转换

热门文章

  1. Pytorch各种取样器sample
  2. ssm网上购物系统 毕业设计源码123361
  3. PDA连接打印机使用说明
  4. 通过cookie网页与app交互
  5. linux下制作u盘启动盘的方法
  6. 【ZZULIOJ】1108: 打印数字图形(函数专题)
  7. Java毕业设计_化妆品查询管理
  8. android适配遇到的一些问题
  9. c#中int类型转换为short类型
  10. 仅用一个 HTML 标签,实现带动画的抖音 Logo