编程语言
首页 > 编程语言> > Python 用configparser读写ini文件

Python 用configparser读写ini文件

作者:互联网

一、configparser 简介
Python用于读写ini文件的一个官方标准库。具体详见官网链接
二、configparser 部分方法介绍

方法

描述

read(filenames)

filesnames是一个列表,需要从文件加载初始值的应用程序应该在调用read()之前使用readfp()加载所需的文件或文件。

readfp(fp,[filename])

在fp中,从文件或文件类对象中读取和解析配置数据(只使用readline()方法)。如果文件名被省略,并且fp有一个name属性,它被用于文件名;默认值为< ? >。

write(fileobject)

将配置的表示写入指定的文件对象。这个表示可以由未来的read()调用解析。

add_section(section)

向实例添加一个section

remove_option(section,option)

从指定的部分中删除指定的选项。如果该部分不存在,请提出NoSectionError。如果存在的选项被删除,返回True;否则返回False。

remove_section(section)

从配置中删除指定的section。如果这个部分确实存在,返回True。否则返回假

set(section, option, value)

如果给定的部分存在,将给定的选项设置为指定的值

optionxform(option)

也可以在一个实例上重新设置它,对于一个需要字符串参数的函数。例如,将其设置为str,将使选项名称区分大小写

defaults()

返回包含实例范围默认值的字典。

sections()

返回可用的section的列表;默认section不包括在列表中

has_section(section)

指示指定的section是否出现在配置中。默认的section未被确认

options(section)

返回指定section中可用的选项列表。

has_option(section, option)

如果给定的section存在,并且包含给定的选项,则返回True;否则返回False

get(section, option)

为指定的section获取一个选项值。

getint(section, option)

它将指定section中的选项强制转换为整数

getfloat(section, option)

它将指定section中的选项强制转换为浮点型

getboolean(section, option)

强制转换为布尔型,”1”, “yes”, “true”, and “on”, 转换为True,”0”, “no”, “false”, and “off”, 转换为Falseo 其他返回ValueError.

items(section)

返回给定section中每个选项的(name,value)对的列表。

get(section,option,[raw,[vars]])

为指定的section获取一个选项值。如果提供了vars,它必须是一个字典。该选项在vars(如果提供)、分段和默认值中查找,

items(section, [raw, [vars]])

返回给定section中每个选项的(名称、值)对的列表

三、读写ini文件实例
import configparser#调用读写类库
config = configparser.ConfigParser()#定义变量类型
path = r'G:\Python Project\testconfig.ini'#定义ini文件路径
#第一种读取ini文件方式,通过read方法
config.read(path)
userName = config['login']['username']
print('第一种方法读取到的值:',userName)
# 第二种读取ini文件方式,通过get方法
userName_Password = config.get('login','password')
print('第二种方法读取到的值:',userName_Password)
# 第三种读取ini文件方式,读取到一个section中的所有数据,返回一个列表
value = config.items('login')
print('第三种方法读取到的值:',value)
Write_ini ="y"
Write_ini= input("输入是否写入ini文件,y/n")
if Write_ini=="y":
    Revise_userName = input("是否修改用户名称?y/n")
    if Revise_userName=="y":
            config.set('login', 'username', input("输入需要修改的名称:"))  # 写入数据
    Revise_password = input("是否修改用户密码?y/n")
    if Revise_password=="y":
            config.set('login','password',input("输入需要修改的密码:")) # 写入数据
    if Revise_userName =="y" or Revise_password=="y":
            config.write(open(path,'w'))
                                         #保存数据 config.write(open(path,A))  A有4个类型参数
                                         # 'r' open for reading (default)  默认属性,打开并读取ini文件
                                         # 'w' open for writing, truncating the file first 打开并写入ini文件,首先截断文件
                                         # 'x' create a new file and open it for writing  创建一个新文件,并向新文件写入
                                         # 'a' open for writing, appending to the end of the file if it exists 打开并写入,如果存在则附加到文件的末尾
                                         # 'b' binary mode 以2进制模式写入ini文件
                                         # 't' text mode (default) 默认属性  以文本模式写入ini文件
                                         # '+' open a disk file for updating (reading and writing) 打开磁盘文件进行更新(读写)
                                         # 'U' universal newline mode (deprecated) 通用换行模式(已弃用)
    else:
     print("不写入参数")
View Code

运行效果图

 

 

 

 

标签:选项,文件,option,Python,section,ini,config,configparser
来源: https://www.cnblogs.com/ZhangZhiYing/p/16200491.html