python3 如何读写配置文件(ini)
来源:互联网 发布:上海旋转餐厅知乎 编辑:程序博客网 时间:2024/05/18 14:27
如何使用Python3读取配置文件(ini)
#
ini文件简介
ini是我们常见到的配置文件格式之一。
ini是微软Windows操作系统中的文件扩展名(也常用在其他系统)。
INI是英文“初始化(Initial)”的缩写。正如该术语所表示的,INI文件被用来对操作系统或特定程序初始化或进行参数设置。
通过它,可以将经常需要改变的参数保存起来(而且还可读),使程序更加的灵活。
我先给出一个ini文件的示例。
[School]ip = 10.15.40.123mask = 255.255.255.0gateway = 10.15.40.1dns = 211.82.96.1[Match]ip = 172.17.29.120mask = 255.255.255.0gateway = 172.17.29.1dns = 0.0.0.0
'
这个配置文件中保存的是不同场合下的IP设置参数。
下面将以生成和读取这个配置文件为例,进行讲解。
Python(v3)读取方法
首先,Python读取ini配置需要用到ConfigParser
包,所以要先加载它。
import configparser
之后我们需要载入配置文件。
import configparserconfig=configparser.ConfigParser()#IpConfig.ini可以是一个不存在的文件,意味着准备新建配置文件。config.read("IpConfig.ini")
接下来,我们可以使用configparser.add_section()
向配置文件中添加一个Section
。
#添加节Schoolconfig.add_section("School")
注意:如果文件中已经存在相应的项目,则不能再增加同名的节。
然后可以使用configparser.set()
在节School
中增加新的参数。
import configparser
#添加新的IP地址参数config.set("School","IP","192.168.1.120")config.set("School","Mask","255.255.255.0")config.set("School","Gateway","192.168.1.1")config.set("School","DNS","211.82.96.1")
你可以以同样的方式增加其它几项。
import configparser
#由于ini文件中可能有同名项,所以做了异常处理try: config.add_section("Match") config.set("Match","IP","172.17.29.120") config.set("Match","Mask","255.255.255.0") config.set("Match","Gateway","172.17.29.1") config.set("Match","DNS","0.0.0.0")except configparser.DuplicateSectionError: print("Section 'Match' already exists")
增加完所有需要的项目后,要记得使用configparser.write()
进行写入操作。
config.write(open("IpConfig.ini", "w"))
以上就是写入配置文件的过程。
接下来我们使用configparser.get()
读取刚才写入配置文件中的参数。读取之前要记得读取ini文件。
ip=config.get("School","IP")mask=config.get("School","mask")gateway=config.get("School","Gateway")dns=config.get("School","DNS")print((ip,mask+"\n"+gateway,dns))
完整示例
下面是一个完整的示例程序,他将生成一个IpConfig.ini
的配置文件,再读取文件中的数据,输出到屏幕上。
# -*- coding: utf-8 -*-import configparser#读取配置文件config=configparser.ConfigParser()config.read("IpConfig.ini")#写入配置文件try: config.add_section("School") config.set("School","IP","10.15.40.123") config.set("School","Mask","255.255.255.0") config.set("School","Gateway","10.15.40.1") config.set("School","DNS","211.82.96.1")except configparser.DuplicateSectionError: print("Section 'School' already exists")#写入配置文件try: config.add_section("Match") config.set("Match","IP","172.17.29.120") config.set("Match","Mask","255.255.255.0") config.set("Match","Gateway","172.17.29.1") config.set("Match","DNS","0.0.0.0")except configparser.DuplicateSectionError: print("Section 'Match' already exists")#写入配置文件config.write(open("IpConfig.ini", "w"))ip=config.get("School","IP")mask=config.get("School","mask")gateway=config.get("School","Gateway")dns=config.get("School","DNS")print((ip,mask+"\n"+gateway,dns))
import configparser
0 0
- python3 如何读写配置文件(ini)
- 如何使用Python3读写INI配置文件
- C/C++ 关于如何读写ini配置文件 (小结)
- 配置文件读写操作(.ini)
- 利用GetPrivateProfileString/WritePrivateProfileString读写配置文件(.ini)
- VC配置文件ini的读写(转载)
- 读写配置文件函数(.ini文件)
- VC配置文件ini的读写(转载)
- 学习笔记之一读写配置文件(ini)
- ini配置文件读写
- 读写配置文件 ini
- C#读写INI配置文件
- C++读写ini配置文件
- VC++读写INI配置文件
- C#读写ini配置文件
- C++读写ini配置文件
- C#读写ini配置文件
- C#读写ini配置文件
- 理解show engine innodb status之LOG
- HDU-2045 不容易系列之(3)—— LELE的RPG难题(动态规划)
- 如何在图片中添加数字编号?
- APP自动化框架LazyAndroid使用手册(3)--核心API介绍
- JavaScript 标准对象
- python3 如何读写配置文件(ini)
- How to install linux with a usb device
- Deeply learned face representations are sparse, selective, and robust
- Android消息机制Handler源码简单解析
- UVa 10810 Ultra-QuickSort(逆序对)
- activiti获取启动流程的图片和xml
- javaWeb之Servlet
- Android详情页+定位评论区
- windows 安装mac os 10.11