[快学Python3]INI文件读写
时间:2022-05-07
本文章向大家介绍[快学Python3]INI文件读写,主要内容包括ConfigParser、实例、小结、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
概述
ini是我们常见到的配置文件格式之一。
ini是微软Windows操作系统中的文件扩展名(也常用在其他系统)。
ini“初始化(Initial)”的缩写。正如该术语所表示的,INI文件被用来对操作系统或特定程序初始化或进行参数设置。
其基本组成形式如下:
[section_1]
key1 = value1
key2 = value2
key3 = value3
key4 = value4
[section_2]
key1 = value1
key2 = value2
key3 = value3
key4 = value4
我们通过Python的ConfigParser模块来对ini文件进行读写操作。
ConfigParser
读取
- read(filename) 读取ini文件内容
- sections() 获取所有的section,并以列表的形式返回
- options(sections) 获取指定section的所有option
- get(section,option) 获取section中option的值,返回为string类型
写入
- set( section, option, value) 对section中的option进行更新
实例
我们先生成一个ini文件,并写入数据,然后在读取出来显示。
# -*- coding:utf-8 -*-
__author__ = '苦叶子'
# 导入模块
import configparser
if __name__ == "__main__":
# 先构建一个对象
config = configparser.ConfigParser()
# 来让我们写入几组数据
# 先新增一个section
config.add_section("开源优测")
# 在新增的section下加key-value键值对
config.set("开源优测", "微号", "DeepTest")
config.set("开源优测", "口号", "自我娱乐娱乐")
config.set("开源优测", "号外", "其实我开了好多号")
# 再新增一个section,但不加key-value键值对
config.add_section("我好孤单")
# 写入文件
with open('iniConfig.ini', 'w') as configfile:
config.write(configfile)
#####################################
# 下面开始我们来把刚才的ini文件读出来看看
config.read("iniConfig.ini")
# 获取它的所有section
sections = config.sections()
print(sections)
# 获取section下所有的options
for sec in sections:
options = config.options(sec)
print(options)
# 根据sections和options获取对应的value值
for sec in sections:
for option in config.options(sec):
print("[%s] %s=%s " % (sec, option, config.get(sec, option)))
小结
对INI文件应用场景,一般都是用于做初始化配置文件用,当然你要是愿意也可以用来做数据的存储。
留个小题目,请尝试自己用类封装一个通用的ini文件操作类。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 为什么我要写spring.factories文件?
- Tiny85哒哒哒哒
- Tiny85哒哒哒
- Julia机器核心编程.多重分配
- 常用注解使用总结系列: @Order 注解
- Fake伪造数据集
- @EnableDiscoveryClient 注解如何实现服务注册与发现
- idea连接docker实现一键部署
- redis的过期策略和内存淘汰机制
- Redis主从复制原理总结
- redis cluster 的核心原理分析:gossip 通信、jedis smart 定位、主备切换
- SpringBoot自动装配原理解析
- 什么是CICD?
- Zabbix 5.0 LTS新功能一览
- 获取电脑真实的IP地址,忽略虚拟机等IP地址的干扰