[快学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文件操作类。
- Python:matplotlib
- Python: matplotlib安装
- Java后端实现图片压缩技术(赞赏功能已开通,欢迎测试,噗~!)
- 我是如何得知10W+的访问量多来自工作日的 | 塔秘
- 使用百度UMeditor富文本编辑器,修改自定义图片上传,修改源码
- 【技术专栏】OpenVirteX体系结构之组件(一)
- 洞察 | 深圳数据分析师的职业前景如何?爬完拉勾数据给你分析 (附代码和过程)
- 【温故】金融数据挖掘之朴素贝叶斯
- 为你的网站加上SSL,可以使用HTTPS进行访问
- LeeCX - 开源后台管理系统简单介绍
- fastdfs 图片服务器 使用java端作为客户端上传图片
- Shiro系列(3) - What is shiro?
- 干货|用python抓取摩拜单车API数据并做可视化分析(源码)
- 干货|机器学习:Python实现聚类算法之K-Means
- 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 数组属性和方法
- UniFi Register Device with keadhcp By HKL,
- Huawei esight to 钉钉dingding (RESTful API) By HKL,
- ngrokc rampis预编译版本 By HKL, Fr
- megacli修复raid1硬盘 By HKL, Tues
- DNSPOD自动更新公网IP脚本 By HKL, Wedn
- Zerotier网卡NAT via iptables By HKL,
- Github Pages同步到Qcloud腾讯云对象存储COS By HKL,
- 独家 | 探索性文本数据分析的新手教程(Amazon案例研究)
- OpenWRT通过3G Modem加asterisk将GSM通话转为SIP By HKL,
- Coding通过Jenkins生成jekyll并发布到腾讯云对象存储Qcloud COS By HKL,
- mybatis 实用技巧:<trim prefix="where" prefixOverrides="and|or">
- OpenWRT配置Webdav(s)共享文件 By HKL,
- OpenWRT配置Apache Webdav By HKL,
- 我向面试官讲解了单例模式,他对我竖起了大拇指
- 47 张图带你 MySQL 进阶!!!