python 配置文件加密_Python 一招检测配置文件是否变更

当项目非常多时随之而来的配置文件也会变得非常多,而且越发的复杂,有时候上线后才知道线上环境的配置文件不对,那么我们如何提前来检测到配置文件有改动了,本文将给你提供一个可以检测的手段。代码如下所示:

1

 导入包并指定目录

import hashlibimport osfrom qqAnalyse.conndb import  conndb#定义要处理md5值的目录path="D:\\tool\\elasticsearch-head-master\\elasticsearch-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值进行初始化到数据库,当下次发布前我们可以针对性的进行一次检测,发现有变更就会提示出来,这样就可以做到提前知晓变更的配置文件,再人工介入进行重点检查。

友情提示:“无量测试之道”原创著作,欢迎关注交流,禁止第三方不显示文章来源时转载。更多原创文章请扫码关注查看,交流与合作请联系:loadkernel@126.com。

QQ技术交流群:41564936

527405debaa2307a54ffe34dd2b1cf90.png

Python 实现Excel自动化办公《上》

Python 实现Excel自动化办公《中》

Python 实现Excel自动化办公《下》

Python API自动化测试实操

Python 测试框架之 Unittest & Pytest

Python 爬虫之Scrapy《下》

Python 爬虫之Scrapy《中》

Python 一招搞定禅道提交bug

Shell 编程核心技术《四》

Shell 编程核心技术《三》

Git 必知必会《上》

Git 必知必会《下》

84b2778a6e66844da88ce8a8eee58420.png

c1d3d140fab22ee3a4fc9187028aa518.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值