python修改ini文件里面的参数值,python读取ini

  python修改ini文件里面的参数值,python读取ini

  本文主要详细介绍Python的ini配置文件。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下,希望能帮到你。

  00-1010INI介绍关于configparserINI文件格式的读取配置文件概要。

  

目录

  INI是英文“initialization”的缩写,用于对操作系统或特定程序进行初始化或设置参数。节(section)、

  键(Key)和值(value)。windows系统中有很多INI文件,比如“System32.ini”和“Win.ini”。我相信你对它们很熟悉。大蟒

  在中操作配置文件的模块是configparser,可以用来解析Windows上与INI文件结构相似的文件。

  

INI介绍

  在python2中,这个模块被称为Configparser,但在python3中被改成了configparser。这个模块是一个解析器,用来解析ini配置文件。

  它的功能是使用模块中的RawConfigParser()、ConfigParser()和SafeConfigParser()创建一个

  对象使用对象的方法添加、删除和检查指定的配置文件。

  这次用的python版本是3.8,编译器用的是pycharm。

  

关于configparser

  INI配置文件组成:

  Section:表示一个块,由方括号和方括号中的名称组成。section的范围是从当前方括号到下一个方括号,比如“DEFAULT”、“select”、“connect_mysql”。

  大小写和空格检查:节中的名称按原样保存和获取,即不同节用不同的大小写或不同的空格;重复性检查:同一配置文件中的节名不能重复。Option:表示section中的配置项,是由key、separator、value组成的键值对,如“select”下的“broswer=Chrome”。

  大小写检查:键不区分大小写。当它保存到文件中时,它会自动以小写保存密钥,但值是区分大小写的。通过空格检查:键获取值时,文件中键和值前后的空格会被自动去掉,然后进行匹配,即当文件保存为 broswer=Chrome 时,也可以使用 broswer 获取对应的值 Chrome ;跨多行检查:键不能跨行,但value可以跨行,只要第二行及后续行的缩进与第一行不同,直到下一个选项;像重复性检查:节,同一节下的键不允许重复;分隔符:可以是等号“=”或冒号“:”。注意:使用井号“#”或分号“;”需要注意的是,必须是一行的开头(前面可以有空格),用在一行中间的不会算作注释。

  默认:这是一个特殊的节,在其他节的选项取不到值的时候会作为备用值,也可以理解为是根,其他节是它的子节。

  但不是必须提供的。

  

  

读取配置文件

  

import os

  import configparser

  conf = configparser.ConfigParser() # 类的实例化

  curpath = os.path.dirname(os.path.realpath(__file__))

  path = os.path.join(curpath,read.ini)

  conf.read(path,encoding="utf-8")

  value = conf[select][url]

  print("通过read方法取得的值为:",value)

  value = conf.get(login,username)

  print(通过get方法取得的值:,value)

  value = conf.items(login) # 读取一个section中的所有数据,返回一个列表

  print("通过items方法取得的值:",value)

  value = conf.getint(connect_mysql,port) # 指定读取数据的类型

  print("指定数据类型取出的值:",value)

  section = conf.sections() # 读取配置文件中所有section

  print(section)

  

  运行结果

  

  注意:配置文件注释有中文的,在python3中要加上参数encoding="utf-8",不然会报错。

  

conf.read(path,encoding="utf-8")

  写入配置文件

  

import os

  import configparser

  conf = configparser.ConfigParser() # 类的实例化

  curpath = os.path.dirname(os.path.realpath(__file__))

  path = os.path.join(curpath,read.ini)

  conf.add_section(login) # 添加一个新的section

  conf.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))

  

  

总结

  本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注盛行IT软件开发工作室的更多内容!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: