Python快速检测配置文件是否变更
分享背景:
当项目非常多时随之而来的配置文件也会变得非常多,而且越发的复杂,有时候上线后才知道线上环境的配置文件不对,那么我们如何提前来检测到配置文件有改动了,本文将给你提供一个可以检测的手段。代码如下所示
1.导入包并指定目录 import hashlib import os from qqAnalyse.conndb import conndb #定义要处理md5值的目录 path="D:toolelasticsearch-head-masterelasticsearch-head-master"
2.初始化配置文件的md5值并入库 #初始化配置文件的md5值并入库 def init_md5(): filelist = [] filelist = get_file(path, filelist) for i in range(len(filelist)): md5v=get_md5_file(filelist[i]) insert_sql="INSERT INTO mdFiveFile (filename,filemd) VALUES (""+filelist[i]+"",""+str(md5v)+"");" db = conndb() db.execute_sql(insert_sql)
3.检测新配置文件的md5值是否变化 #检查新的配置文件md5值是否有改变,有改变则打印出来 def check_md5(): filelist = [] filelist = get_file(path, filelist) for i in range(len(filelist)): md5v = get_md5_file(filelist[i]) selectsql = "select filemd from mdFiveFile where filename="" + filelist[i] + "";" # print(selectsql) db = conndb() md5=db.select_sql(selectsql)[0] if(md5!=md5v): print(str(filelist[i])+"--- please check the file,maybe it"s update") else: print("the check is ok")
4.文件进行md5加密处理 #针对传入的文件计算md5的值 def get_md5_file(file_name): with open(file_name, "rb") as fp: data = fp.read() # print(data) file_md5= hashlib.md5(data).hexdigest() return file_md5
5.遍历指定目录下文件 #遍历上面指定目录下的所有文件 def get_file(path,filelist): file_list = os.listdir(path)# 首先遍历当前目录所有文件及文件夹 # print(file_list) for file in file_list: cur_path = os.path.join(path, file)# 利用os.path.join()方法取得路径全名,并存入cur_path变量,否则每次只能遍历一层目录 if os.path.isdir(cur_path): get_file(cur_path,filelist) else: if(str(file).endswith("bak")): filelist.append(cur_path) return filelist
6.代码运行入口 if __name__ == "__main__": # init_md5() check_md5()
总结:
我们首先要确定我们要检测的配置文件,然后将它的当前的md5值进行初始化到数据库,当下次发布前我们可以针对性的进行一次检测,发现有变更就会提示出来,这样就可以做到提前知晓变更的配置文件,再人工介入进行重点检查。
注册资金100亿元,小米汽车公司正式成立,雷军为法定代表人今年3月份,小米集团创始人董事长兼CEO雷军宣布小米将正式进军汽车制造业,并宣称未来十年将投资100亿美元,而且将由雷军亲自带队。9月1日,小米官微也发布消息,称小米汽车有限公司正
雷军太幸福!友商把全球第三头衔赠送给小米,网友野心真大最近,各家统计机构的2020年第4季度手机出货量数据纷纷出炉,小米份额增长成为全球第三!小米拿下全球第三,这个还是有争议的。这数据不是明摆着的吗?为什么还会有争议?在Counter
有文化,须有为别人着想的善良读书多的人并不一定有文化,见识广的人也不一定有文化,一个人有文化,那这个人一定有着根植于内心的修养无需提醒的自觉以约束为前提的自由为别人着想的善良。一个人心平气和,做事妥帖,做人礼
鹏博士企业云网事业部网格化战略部署启动仪式,圆满成功2020年8月19日上午,鹏博士企业云网事业部网格化战略部署启动仪式在北京市东城区雍和航星园8号楼10层顺利举行!此次活动采取线上线下相结合的方式开展,乘风破浪,鸿猷丕展主题鹏博士
直播预告7月30日,数字赋能办公生态当后疫情时代下随着各地企业复工复产的有序推进最新发布的宏观经济数据显示我国主要经济指标持续改善经济继续呈现恢复态势中小企业的数字化网络化智能化转型迎来新契机鹏博士企业云网事业部通过
数字经济新时代数字经济的驱动力根本驱动在国内经济转型升级的大背景下,数字经济赋能双循环,数字化将真正撬动内需。对国内经济来说,一方面,传统经济驱动疲软,经济发展需要从量转向质,其中一点就是要提高劳动生产效率另一
各地抢抓新基建,数权问题亟待破解新基建是经济高质量发展的加速器,为让新基建转化为生产力,数据是最为关键的要素。今年以来,国家层面多个文件出台,为数据要素市场化配置指明了方向,对推动数字经济高质量发展具有重要指导意
就差一个处理器的钱,华为畅享10Plus压不过自家荣耀9X?一个月4场发布会,9月的华为有自家处理器要按期推新,又有霸榜的旗舰新机要发。还有和友商对拼的中端机型的坑要填,真的是想不成为热点也不行。不过,这么多东西要发,真的忙得过来吗?旗舰机
骁龙85590Hz刷新率只配高端旗舰?其实,3000元也能安排上又到下单挑花眼,剁手不停息的季节了,今年的手机圈可算是呕吐式地发新机。苹果发,苹果发完华为发,华为发完小米发,小米发完OV发,OV发完还有收尾的一加而且,每家发完次旗舰还有旗舰,发
数字经济新时代来临数字经济正在加速发展工信部近日表示数字经济总量上新台阶,从11万亿增长到35。8万亿,已经成为了经济增长的重要支撑。2019年我国数字经济增加值规模达到35。8万亿元,占GDP比重达到36。2,占比同
开启无线游戏新时代雷柏vm700s测评前言随着国内玩手游的用户越来越多,许多手机厂商都推出了自家的游戏手机,那么对于游戏党来说,选择一款适合自己的游戏耳机也显得尤为重要,一款延迟低音质好的无线无疑会让我们在玩游戏的过程