python对比两个文本差异,将差异写入新文件中
import argparseparse = argparse.ArgumentParser();
## 对比文件1 的路径+名称
parse.add_argument('--file_a','-a',default = './file1',help = 'txt_df.py -a ** input file a name')
## 对比文件2 的名路径+称
parse.add_argument('--file_b','-b',default = './file2',help = 'txt_df.py -b ** input file b name')
## 将差异写入 新文件中 ,新文件的位置
parse.add_argument('--save_df','-s',default = './df_file',help = 'txt_df.py -s ** save different to file')
args = parse.parse_args()file1 = args.file_a
file2 = args.file_b
save_file = args.save_dfdict_a = {}
dict_b = {}
list_a = []
list_b = []list_add = []f1 = '{}.txt'.format(file1) ## gen
f2 = '{}.txt'.format(file2) ## old
f_save = '{}.txt'.format(save_file)a = open(f1,'r')
## 去除无关注解,并以文件中的 '=' 区分键值对
for line_a in a.readlines():if ("=" not in line_a):continueelse:line_a = str(line_a).replace(" ","")line_a = str(line_a).replace("\t","")line_a = str(line_a).replace("\n","")dict_a[line_a.split("=")[0]] = line_a.split("=")[1] list_a.append(line_a.split("=")[0])
a.close()b = open(f2,'r')
for line_b in b.readlines():if ('=' not in line_b):continueelse:line_b= str(line_b).replace(" ","")line_b = str(line_b).replace("\t","")line_b = str(line_b).replace("\n","")line_bb = line_b.split("#")[0]dict_b[line_bb.split("=")[0]] = line_bb.split("=")[1]list_b.append(line_bb.split("=")[0])
b.close()with open(f_save,'w') as ff:ff.write("#gen txt have, old txt not have : \n")for item in dict_a.items():key_a = item[0]value_a = item[1]if key_a not in list_b:ff.write("{0}\t\t=\t\t{1}\n".format(key_a,value_a))ff.write("#old txt have,gen txt not have : \n")for item in dict_b.items():key_b = item[0]value_b = item[1]if key_b not in list_a:ff.write("{0}\t\t=\t\t{1}\n".format(key_b,value_b))list_add.append(key_b)ff.close()
print("{} df_file write done ~~".format(file1))######## wite gen not have param to gen_txtbbb = open(f2,'r')
with open (f1,'a') as fff:fff.write("#{}\n# {}\n".format(41*'-','Old file parameter :'))for lin in bbb.readlines():for ll in list_add:if (ll in lin):# print(lin)fff.write("{}\n".format(lin))fff.close()
bbb.close()
print("{} update gen txt file~ ".format(file1))
python对比两个文本差异,将差异写入新文件中相关推荐
- 【最新实用版】Python批量将pdf文本提取并存储到txt文件中
#注意:笔者在2021/11/11当天调试过这个代码是可用的,由于pdfminer版本的更新,网络上大多数的语法没有更新,我也是找了好久的文章才修正了我的代码,仅供学习参考. 1.把pdf文件移动到本 ...
- python爬取微博数据存入数据库_Python爬取新浪微博评论数据,写入csv文件中
因为新浪微博网页版爬虫比较困难,故采取用手机网页端爬取的方式 操作步骤如下: 1. 网页版登陆新浪微博 2.打开m.weibo.cn 3.查找自己感兴趣的话题,获取对应的数据接口链接 4.获取cook ...
- 使用python对比两个目录下的文件名差异
前言 在做深度学习图像识别相关的项目,经常会使用到标注工具对图像进行标注,然后会在对应文件夹下生成文件名相同的标签文件,比如000023.jpg,标注后会生成000023.xml,或都000023.t ...
- R语言ggcharts包的dumbbell_chart函数可视化哑铃图(对比两个年份数据的差异)、scale_y_continuous函数中的labels参数自定义设置X轴坐标标签的格式
R语言ggplot2可视化:使用ggcharts包的dumbbell_chart函数可视化哑铃图(对比两个年份数据的差异).使用scale_y_continuous函数中的labels参数自定义设置X ...
- 快速对比两张工作表数据差异——《超级处理器》应用
如何快速对比两个工作表数据差异?比如,有下面两张表,一张是审核前的,一张是审核后的,怎么快速找出两张表中不同的单元格. 生产报表审核后 生产报表审核前 我们很难一眼看出两个表的差异,我们用超级处理器来 ...
- python 对比两张图片是否相同
python 对比两张图片是否相同 说明 说明 适用于对比两张图片是否完全相同 需要两张图片的大小完全一致 代码来源于网络,进行微调 from PIL import Image from PIL im ...
- 程序员面试金典——解题总结: 9.18高难度题 18.5有个内含单词的超大文本文件,给定任意两个单词,找出在这个文件中这两个单词的最短距离
#include <iostream> #include <stdio.h> #include <vector> #include <string> # ...
- python使用FPDF包将多个图像文件写入pdf文件实战
python使用FPDF包将多个图像文件写入pdf文件实战 目录 python使用FPDF包将多个图像文件写入pdf文件实战 #FPDF包安装
- Python检测U盘插入、自动复制文件并写入新文件
技术要点: 1)如何检测有U盘插入: 2)如何复制目录树: 3)如果U盘可写,如何写入新文件. 思考一下,然后到文末查看参考代码. ----------相关阅读---------- 教学课件 1900 ...
最新文章
- Android教程之使用LiveAndroid来测试应用
- 腾讯/字节/华为/旷视 2022届实习面经—计算机视觉方向
- 第三次Python作业———林东
- 梅朵是藏语鲜花的意思
- 如何构建一个真实的推荐系统?
- VB实现6大排序算法---动态过程展示(建议收藏)
- java内存泄漏和内存溢出_Java和内存泄漏
- linux_ls命令详解
- 后缀数组的学习(一):学习的预备知识
- ruby wxruby rubytk的安装
- Linux Unix shell 编程指南学习笔记(第二部分)
- BP算法推导-softmax层+交叉熵(logloss)
- ShuffleNet 算法的介绍
- 如何禁止拼音加加自动修改IE首页
- 「捷径」解读:iOS 自动化的 3.0 时代
- 安全邮箱怎么注册?邮箱地址是什么?怎么写?快速了解tomvip邮箱
- centos7安装mplayer+smplayer
- Linux部署k8s集群
- uboot bootargs bootcmd bootm
- 一个学机械的中年人半年时间入门物联网嵌入式的历程