Python|Python ini配置文件示例详解
目录
- INI介绍
- 关于configparser
- INI文件格式
- 读取配置文件
- 写入配置文件
- 总结
INI介绍 INI是英文“初始化”(initialization)的缩写,被用来对操作系统或特定程序初始化或进行参数设置。由节(section)、
键(key)、值(value)构成。在windows系统中有很多INI文件,例如“System32.ini”和“Win.ini”,相信大家并不陌生。Python
中操作配置文件的模块为configparser,这个模块可以用来解析与Windows上INI文件结构类似的文件。
关于configparser 在python2中该模块名为Configparser,到python3才改为configparser,该模块是用来解析ini配置文件的解析器。
其作用就是使用模块中的RawConfigParser()、ConfigParser()、SafeConfigParser()这三个方法(任选一种),创建一
个对象使用对象的方法对指定的配置文件做增删改查操作。
本次使用的python版本为3.8,编译器使用pycharm。
INI文件格式
文章图片
INI配置文件组成:
section:表示一个区块,由方括号及方括号中的名称组成,section的范围为当前方括号到下一个方括号的内容,如“DEFAULT”,“select”,“connect_mysql”。
大小写和空格检查:section中的名称在保存和获取的时候是原样保存和获取的,即大小写不一样或者空格不一样等都是不同的section;重复性检查:同一个配置文件中section名称不允许重复。
option:表示section中的配置项,由key、分隔符和value组成的键值对,如“select”下的“broswer = Chrome”。
大小写检查:key是大小写不敏感的,保存进文件的时候会自动将key小写保存,但value是大小写敏感的;空格检查:通过key获取value时,会自动将文件中的key和value前后空格去掉再进行匹配,即文件中保存为' broswer = Chrome '时,用'broswer'也可以获取到对应的value值'Chrome'; 跨多行检查:key是不能跨行的,但是value可以跨行,只要第二行及之后行的缩进与第一行不同即可,一直到下一个option为止;重复性检查:和section一样,同一section下的key是不允许重复的;分隔符:可以是等号“=”或者冒号“:”。
注释:行注释用井号“#”或者分号“; ”表示,特别需要注意的是必须得是行开头(前面可以有空格),用在行中间的就不会算作是注释了。
DEFAULT:这是一个特殊的section,会用作其他section的option取不到值时的备用值,或者可以理解为它是一个root,其他的section都是它的子section,但不是必须提供的。
读取配置文件
import osimport configparserconf = configparser.ConfigParser() # 类的实例化curpath = os.path.dirname(os.path.realpath(__file__))path = os.path.join(curpath,'read.ini')conf.read(path,encoding="utf-8")value = https://www.it610.com/article/conf['select']['url']print("通过read方法取得的值为:",value)value = https://www.it610.com/article/conf.get('login','username')print('通过get方法取得的值:',value)value = https://www.it610.com/article/conf.items('login') # 读取一个section中的所有数据,返回一个列表print("通过items方法取得的值:",value)value = https://www.it610.com/article/conf.getint('connect_mysql','port') # 指定读取数据的类型print("指定数据类型取出的值:",value)section = conf.sections() # 读取配置文件中所有sectionprint(section)
运行结果
文章图片
注意:配置文件注释有中文的,在python3中要加上参数encoding="utf-8",不然会报错。
conf.read(path,encoding="utf-8")
写入配置文件
import osimport configparserconf = configparser.ConfigParser() # 类的实例化curpath = os.path.dirname(os.path.realpath(__file__))path = os.path.join(curpath,'read.ini')conf.add_section('login') # 添加一个新的sectionconf.set('login','username','admin')conf.set('login','password','123123')# 往配置文件写入数据conf.write(open(path,'a'))# 保存数据
运行以后查看配置文件,可以看到新的section已经写入到文件中。
文章图片
write写入常用的两种方式,第一种是删除原文件内容,重新写入:w
conf.write(open(path,'w'))
第二种是在原文件基础上继续写入内容,追加模式写入:a
conf.write(open(path,'a'))
总结 【Python|Python ini配置文件示例详解】到此这篇关于Python ini配置文件的文章就介绍到这了,更多相关Python ini配置文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 宝塔面板nginx报错 nginx: configuration file /www/server/nginx/conf/nginx.conf test failed 语法检查通过单测试配置文件失败
- python|python批量修改txt文件里的类别数,批量修改文件名
- 学习资源推荐|B站好资源: 数据科学,机器学习,python
- 分享Python|分享Python 中的 7 种交叉验证方法
- Python机器学习应用之基于LightGBM的分类预测篇解读
- python|python selenium中Excel数据维护指南
- 如何利用Python处理excel表格中的数据
- 详析Python面向对象中的继承
- python使用xlrd模块读取excel的方法实例
- Python字符串str和json格式相互转换