如何给自己的python程序添加外部配置文件
开始之前

最近写程序需要每次开始都要输入一大串数据,于是就研究了一下如何使用配置文件给我们的python来使用
现在开始

在windows中最常见的配置文件类型就是*.ini文件了
什么是INI:
INI文件格式是某些平台或软件上的配置文件的非正式标准,以节(section)和键(key)构成,常用于微软Windows操作系统中。这种配置文件的文件扩展名多为INI,故名。

INI文件格式:

节(section)
节用方括号括起来,单独占一行,例如:
[section]
键(key)
键(key)又名属性(property),单独占一行用等号连接键名和键值,例如:
name=value
注释(comment)
注释使用英文分号(;)开头,单独占一行。在分号后面的文字,直到该行结尾都全部为注释,例如:
; comment text
使用python操作INI文件

python已经给我们内置了用来操作ini文件的模块configparser
导入模块:
import configparser
1, 创建对象
在操作之前首先要创建一个ConfigParser对
cf = configparser.ConfigParser()
这里的cf就是我们创建出来的对象了
2. 读取一个文件
现在我在代码文件同级目录中创建了一个01.ini的文件
其中有一个节叫做"me",节中分别有两个键"name"和"uid"和他分别对应的值
使用cf.read()方法进行读取

这个方法需要传入一个文件的路径,还可以传递他的字符集编码(可选)
请注意:这里的filename需要是一个绝对路径
如何找到一个绝对路径
使用
rootPath = os.path.dirname(__file__)
这个方法即可返回当前 所执行python文件的目录
这个路径是最后不带斜杠的,所以需要在末尾拼接一个"\"

没有报错,没有警告,我们确实成功读取了01.ini这个文件
3.读取文件中的内容
读取文件内容的方法有好几种,
1, 读取所有节的名称
使用sections()方法可以获取文件中所有节的名称,他会返回一个列表对象

2. 获取一个节中所有键的值
meKeys = cf.options("me")

3. 获取一个节中的所有元素
meItems = cf.items("me")
他会返回一个嵌套在列表中的很多元组
这些元组就是每一个键值对

4.获取对节中对应键的值
cf,get("节","键")

4. 添加和修改内容
1. 添加节
cf.add_section("B")
当你执行这个方法后你会惊奇的发现这个方法并没有起作用
不要着急,原因很简单,我们并没有保存文件,我们只是保存了对象中的内容
使用cf.write(文件对象)来保存文件


2. 设置对应键的值
cf.set("B", "a", "123")


3. 删除节
cf.remove_section("B")

5. 删除键和值
cf.remove_option("me", "uid")


总结:

使用python对ini文件的操作还是很方便的,同样也非常感谢configparser这个模块的开发人员
但是回头想想.json文件他不香么

全部的代码
