python3比较ini类型的配置文件方案

ini类型的配置文件有个特点,就是配置是分组的,每组有个section,section下面是键值对的形式,python3比较升级前和升级后的配置改变方案:
第一步:将section和下面的键值对进行绑定
file1 file2

列表,列表中每一项是每组section构成的字典
section写成:tag=section名字的形式
遍历file2 列表中的每组的tag
每次取到一组的tag就去file1 列表中去找
file1列表可以先把tag的value先收集为一个列表
只要取file2的的tag遍历是不是在file1的tag列表中

如果在,很容易取到file2的这组section下的键值对字典,
关键是file1列表中的section下的键值对怎么取?
拿同一个tag的value值去file2中找
每次遍历file2中每组section,再在section中判断这个tag的value是不是在这组的tag中,
如果在将他pop出来,这样就拿到file1了匹配的tag这组字典
剩下的就是找这两组的键值对不同的,封装一个函数调用比较,并且打印出位于哪个section下的哪些键值对不同

如果不在,直接报告这是新增的,直接打印这组下的字典

原文地址:https://blog.51cto.com/13560219/2450976

时间: 2024-12-11 17:53:00

python3比较ini类型的配置文件方案的相关文章

Python3比较ini类型配置文件的异同(升级版)

应用场景:ini类型配置文件由于升级改动了,我想看看升级后的配置文件相对于之前的改动了哪些配置项ini类型的配置文件的特点:就像这样子:[isamchk]key_buffer = 128Msort_buffer_size = 128Mread_buffer = 2Mwrite_buffer = 2M[myity]key_buffer = 128Msort_buffer_size = 128Mread_buffer = 2Mwrite_buffer = 2M每个配置块内容前有一个[xxx]的sec

python3读取ini配置文件

python3读取ini配置文件(含中文)import configparser# 加载现有配置文件conn = configparser.ConfigParser()conn.read("KKD.ini", encoding="utf-8-sig") #此处是utf-8-sig,而不是utf-8 #以下两种方法读取文件内容效果一样print(conn.get('rclog', 'kkdqg_in')) 原文地址:https://www.cnblogs.com/te

键值形式的文件解析api-解析类ini形式的配置文件

glib-键值形式的文件解析api 解析类ini形式的配置文件   前言 本文转自https://developer.gnome.org/glib/unstable/glib-Key-value-file-parser.html 业余时间进行翻译,欢迎批评指正. 函数 GKeyFile * g_key_file_new () void g_key_file_free () GKeyFile * g_key_file_ref () void g_key_file_unref () void g_k

python3.5 Str类型与bytes类型转换

python3.5 Str类型与bytes类型转换 1 #str与byte转换 2 a = "李璐" 3 b = bytes(a,encoding="utf-8") 4 print(b) 5 c = bytes(a,encoding="gbk") 6 print(c) 7 d = str(b,encoding="utf-8") 8 print(d) 9 e = str(c,encoding="gbk") 1

php.ini(php的配置文件)中的magic_quotes_gpc

1.php.ini(php的配置文件)中的magic_quotes_gpc的作用:传递$_GET,$_POST,$_COOKIE请求时是否对单引号做处理(单引号前加反斜杠进行转译,如\'这样就无法执行带单引号的恶意请求),注入时如果目标开启,那么我们无法通过注入点写文件到服务器上(SQl语句不会成功执行) 2.POST型一句话木马,<?php eval($_POST[cmd)]:?>(eval()函数主要是执行php的版本) 3.如果magic_quotes_gpc是关闭的,可以直接在load

Python3新特性 类型注解 以及 点点点

Python3新特性 类型注解 以及 点点点 ... Python3 的新特性 Python 是一种动态语言,变量以及函数的参数是 不区分类型 的 在 函数中使用类型注解 相当于 给 形参的 类型 设置了一个备注 # 使用类型注解 a b 参数需要 int 类型的 变量 def func(a: int = ..., b: int = ...): return a + b 使用 PyCharm 编写python代码时 函数调用会有默认参数的 提示 如果传递的 参数不是 指定的类型 正常使用也不会报

转 python3 读取 ini配置文件

在代码中经常会通过ini文件来配置一些常修改的配置.下面通过一个实例来看下如何写入.读取ini配置文件. 需要的配置文件是: 1 [path] 2 back_dir = /Users/abc/PycharmProjects/Pythoncoding/projects/ 3 target_dir = /Users/abc/PycharmProjects/Pythoncoding/ 4 5 [file] 6 back_file = apitest import osimport timeimport

python3读取ini配置文件(含中文)

import configparser# 加载现有配置文件conf = configparser.ConfigParser()conf.read("KKD.ini", encoding="utf-8-sig") #此处是utf-8-sig,而不是utf-8 #以下两种方法读取文件内容效果一样print(conf.get('rclog', 'kkdqg_in'))print(conf['rclog']['kkdnanx_out2'])

Struts2的result中各种type类型以及配置文件的一些细节

Struts2支持的不同类型的返回结果为: Chain Result-->type="chain"用来处理Action链 Dispatcher Result -->type="dispatcher"用来转向页面,通常处理JSPFreeMarker Result -->type="freemarker"处理FreeMarker模板HttpHeader Result -->type="httpheader"