Python configparser模块的用法示例代码
作者:redrose2100
1 configparser 使用get方式读取.ini配置文件的配置内容
(1)首先编写如下所示的env.ini配置文件
[server] ip=192.168.1.200 port=22 username=root password=root [personal] name=redrose2100 city=nanjing github=redrose2100.github.io
(2) 编写解析.ini配置文件的python代码
import configparser config=configparser.ConfigParser() config.read("env.ini","utf-8") print(config.get("server","ip")) print(config.get("personal","name"))
运行结果为:
192.168.1.200
redrose2100
2 使用数组下标的方式读取.ini配置文件的内容
env.ini的内容同上述1中的内容
通过数组下标的方式读取配置文件内容的代码如下:
import configparser config=configparser.ConfigParser() config.read("env.ini","utf-8") print(config["server"]["ip"]) print(config["personal"]["name"])
执行结果如下:
192.168.1.200
redrose2100
3 使用configparser写配置文件
import configparser config=configparser.ConfigParser() config["server"]={ "ip":"192.138.1.200", "port":22, "username":"root", "password":"root" } config["personal"]={ "name":"redrose2100", "city":"nanjing" } with open("test.ini","w") as f: config.write(f)
执行之后,在当前目录下会生成一个test.ini文件,其内容如下:
[server] ip = 192.138.1.200 port = 22 username = root password = root [personal] name = redrose2100 city = nanjing
4 configparser 对section常用的操作:
- (1)has_section(section) 判断读取的config对象是否还有指定的section
- (2)sections() 获取读取到的config对象的所有sections列表
- (3)add_section(section) 给读取到的config对象增加一个section,注意此时增加的section只是在config对象中,并没有写入到ini配置文件中
- (4)remove_section(section) 给读取到的config对象删除一个section
实例代码如下所示:
import configparser config=configparser.ConfigParser() config.read("env.ini","utf-8") print(config.has_section("server")) print(config.sections()) config.add_section("kafka") print(config.sections()) config.remove_section("kafka") print(config.sections())
运行结果如下:
import configparser
config=configparser.ConfigParser()
config.read("env.ini","utf-8")
print(config.has_section("server"))
print(config.sections())
config.add_section("kafka")
print(config.sections())
config.remove_section("kafka")
print(config.sections())
5 configparser对option常用的操作,如下代码演示:
import configparser config=configparser.ConfigParser() config.read("env.ini","utf-8") print(config.has_option("server","ip")) print(config.options("server")) config.set("server","test","test") print(config.options("server")) config.remove_option("server","test") print(config.options("server"))
执行结果为:
True
['ip', 'port', 'username', 'password']
['ip', 'port', 'username', 'password', 'test']
['ip', 'port', 'username', 'password']
6 configparser的对象可以类似字典一样使用,但是类型不是字典,代码演示如下:
import configparser config=configparser.ConfigParser() config.read("env.ini","utf-8") for key in config["server"].keys(): print(key) for key,value in config["server"].items(): print(key,value) for value in config["server"].values(): print(value) item=config["server"].popitem() print(type(item)) print(item) port=config["server"].pop("port") print(port) for key,value in config["server"].items(): print(key,value) username=config["server"].get("username","no found") print(username) print(type(config["server"]))
运行结果如下:
ip
port
username
password
ip 192.168.1.200
port 22
username root
password root
192.168.1.200
22
root
root
<class 'tuple'>
('ip', '192.168.1.200')
22
username root
password root
root
<class 'configparser.SectionProxy'>
7 可以将获取的类型直接转换为期望的数据类型,可用的方法有:
- getint
- getboolean
- getfloat
- get
下面将配置文件更新如下内容:
[server] ip=192.168.1.200 port=22 username=root password=root is_linux=True price=100.24 [personal] name=redrose2100 city=nanjing github=redrose2100.github.io
实例代码如下:
import configparser config=configparser.ConfigParser() config.read("env.ini","utf-8") ip=config["server"].get("ip") port=config["server"].getint("port") is_linux=config["server"].getboolean("is_linux") price=config["server"].getfloat("price") print(ip,type(ip)) print(port,type(port)) print(is_linux,type(is_linux)) print(price,type(price))
运行结果如下:
192.168.1.200 <class 'str'>
22 <class 'int'>
True <class 'bool'>
100.24 <class 'float'>
8 configparser标准库对解析.conf文件与解析.ini文件的使用方法是完全一样的,下面只演示一部分:
创建一个env.conf文件,内容如下:
[server] ip=192.168.1.200 port=22 username=root password=root is_linux=True price=100.24 [personal] name=redrose2100 city=nanjing github=redrose2100.github.io
编写如下代码:
import configparser config=configparser.ConfigParser() config.read("env.conf","utf-8") print(config.get("server","ip")) print(config.get("personal","name")) print(config["server"]["ip"]) print(config["personal"]["name"])
运行结果如下:
192.168.1.200
redrose2100
192.168.1.200
redrose2100
到此这篇关于Python configparser模块的用法的文章就介绍到这了,更多相关Python configparser模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
- Python中Parser的超详细用法实例
- python中parser.add_argument()用法实例(命令行选项、参数和子命令解析器)
- Python Parser的用法
- Python ArgumentParse的subparser用法说明
- Python3中configparser模块读写ini文件并解析配置的用法详解
- Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
- Python HTML解析模块HTMLParser用法分析【爬虫工具】
- Python中optparser库用法实例详解
- python命令行参数解析OptionParser类用法实例
- Python中Parser的用法小结