一、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文件实例
  1. 建立ini文件

a.在路径下新建一个TXT文档

b. 更改新建的txt文档后缀,将其txt改为ini

c. 在ini文档里写入如下内容

[login]
username = 123
password = 456

  

2. 编写程序

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("不写入参数")

运行效果图

 
												

Python 用configparser读写ini文件的更多相关文章

  1. 【python-ini】python读写ini文件

    [python-ini]python读写ini文件 本文实例讲述了Python读写ini文件的方法.分享给大家供大家参考.具体如下: 比如有一个文件update.ini,里面有这些内容:   1 2 ...

  2. c# 利用动态库DllImport("kernel32")读写ini文件(提供Dmo下载)

    c# 利用动态库DllImport("kernel32")读写ini文件 自从读了设计模式,真的会改变一个程序员的习惯.我觉得嘛,经验也可以从一个人的习惯看得出来,看他的代码编写习 ...

  3. VB读写INI文件的四个函数以及相关API详细说明

    WritePrivateProfileString函数说明  来源:http://blog.csdn.net/wjb9921/article/details/2005000 在我们写的程序当中,总有一 ...

  4. C# 读写INI 文件

    INI 格式: [Section1] KeyWord1 = Value1 KeyWord2 = Value2 ... [Section2] KeyWord3 = Value3 KeyWord4 = V ...

  5. WIN32读写INI文件方法

      在程序中经常要用到设置或者其他少量数据的存盘,以便程序在下一次执行的时候可以使用,比如说保存本次程序执行时窗口的位置.大小.一些用户设置的 数据等等,在 Dos 下编程的时候,我们一般自己产生一个 ...

  6. Python3 将configparser从ini文件中读取的内容转换成字典格式

    因为写脚本的用到了,所以研究了下怎么将configparser从ini文件中读取的内容转换成字典格式. 整理一下,希望能对大家有帮助. 从http://stackoverflow.com/questi ...

  7. 读写ini文件

    C# 使用文件流来读写ini文件 背景 之前采用ini文件作为程序的配置文件,觉得这种结构简单明了,配置起来也挺方便.然后操作方式是通过WindowsAPI,然后再网上找到一个基于WindowsAPI ...

  8. 在 WinCe 平台读写 ini 文件

    在上篇文章开发 windows mobile 上的今日插件时,我发现 wince 平台上不支持例如 GetPrivateProfileString 等相关 API 函数.在网络上我并没有找到令我满意的 ...

  9. Python使用openpyxl读写excel文件

    Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...

随机推荐

  1. 2021.08.06 P2441 角色属性树(树形结构)

    2021.08.06 P2441 角色属性树(树形结构) P2441 角色属性树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 求离x最近的祖先y且(x,y)>1. ...

  2. mmdetection训练出现nan

    训练出现nan 在使用MMDetection训练模型时,发现打印信息中出现了很多nan.现象是,loss在正常训练下降的过程中,突然变为nan. 梯度裁减 在模型配置中加上grad_clip: opt ...

  3. LCA的离线快速求法

    最常见的LCA(树上公共祖先)都是在线算法,往往带了一个log.有一种办法是转化为"+-1最值问题"得到O(n)+O(1)的复杂度,但是原理复杂,常数大.今天介绍一种允许离线时接近 ...

  4. java自带的四种线程池

    java预定义的哪四种线程池? newSingleThreadExexcutor:单线程数的线程池(核心线程数=最大线程数=1) newFixedThreadPool:固定线程数的线程池(核心线程数= ...

  5. CSS预编译器

    零.CSS预编译器 CSS预处理器是指对生成CSS前的某一语法的处理.CSS预处理器用一种专门的编程语言,进行Web页面样式设计,然后再编译成正常的CSS文件,供项目使用 CSS预处理器为CSS增加一 ...

  6. [笔记] prufer 序列

    什么是 prufer 序列 是可以和 \(n\) 个有标号节点的无根树一一对应的长度为 \(n-2\) 的序列. 一般来说是用于和树相关的组合计数问题,但是可能会出现一些变形,所以除了要了解一些性质, ...

  7. Linux系统创建可执行文件软链接

    技术背景 由于创建软链接这个事情,在算法开发的日常中使用到的并不是很多,因此本文也是做一个简单的回顾.这里我们使用的案例是通过TMalign这个蛋白质打分文件,在编译好可执行文件之后,可以使用建立软链 ...

  8. Angular核心概念

    一.集成开发环境@angular/cli IE8之后才有debugger工具 2009,nodejs发布,前端Big Bang 1.1 基于NodeJS的工具链 打包工具 grunt 对js代码做合并 ...

  9. 好客租房54-props深入(children属性)

    children属性 表示组件标签的子节点 当组件标签有子节点是 props就会有该属性 props中的组件可以是任意属性 都是可以渲染的 //导入react     import React fro ...

  10. 基于 BaGet 搭建 Nuget 服务器

    1 前言 1.1 BaGet 介绍 BaGet 是一个轻量级的,开源的,跨平台的 Nuget 和 symbol 服务器. 1.2 环境介绍 操作系统:CentOS 7 使用 Docker 安装 2 安 ...