Python configparser模块的用法示例代码

 更新时间:2022年12月21日 09:19:58   作者:redrose2100  
这篇文章主要介绍了Python configparser模块的用法,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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区块链Creating Miners教程

    Python区块链Creating Miners教程

    这篇文章主要为大家介绍了Python区块链Creating Miners教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • python实现机器学习之多元线性回归

    python实现机器学习之多元线性回归

    这篇文章主要为大家详细介绍了python实现机器学习之多元线性回归,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • 使用python爬取微博数据打造一颗“心”

    使用python爬取微博数据打造一颗“心”

    这篇文章主要介绍了使用python基于微博数据打造一颗“心”,作为程序员,我准备了一份特别的礼物,用以往发的微博数据打造一颗“爱心”,我想她一定会感动得哭了吧,需要的朋友可以参考下
    2019-06-06
  • 详解Python手写数字识别模型的构建与使用

    详解Python手写数字识别模型的构建与使用

    这篇文章主要为大家详细介绍了Python中手写数字识别模型的构建与使用,文中的示例代码简洁易懂,对我们学习Python有一定的帮助,需要的可以参考一下
    2022-12-12
  • Python使用文件操作实现一个XX信息管理系统的示例

    Python使用文件操作实现一个XX信息管理系统的示例

    这篇文章主要介绍了Python使用文件操作实现一个XX信息管理系统的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 一篇文章让你快速掌握Pandas可视化图表

    一篇文章让你快速掌握Pandas可视化图表

    大家都知道Pandas是基于Python平台的大数据分析与处理的利器,它可以把十分复杂的可视化过程,变得简单一点,这篇文章主要给大家介绍了关于Pandas可视化图表的相关资料,需要的朋友可以参考下
    2021-08-08
  • 利用python实现3种梯度下降算法

    利用python实现3种梯度下降算法

    梯度下降法是一种优化算法,用于求解函数的最小值或最大值,它通过迭代的方式,沿着函数的梯度方向逐步调整参数,以找到函数的极值点,本文给大家介绍了利用python实现3种梯度下降算法,需要的朋友可以参考下
    2023-12-12
  • 利用Python进行图像的加法,图像混合(附代码)

    利用Python进行图像的加法,图像混合(附代码)

    这篇文章主要介绍了利用Python进行图像的加法,图像混合(附代码),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python特效之文字成像方法详解

    Python特效之文字成像方法详解

    文字成像,即将原图片经过 python 处理后,生成完全由纯文字组成的图像。本文将具体为大家介绍如何通过Python实现这一效果,感兴趣的可以学习一下
    2022-01-01
  • Python cookbook(数据结构与算法)筛选及提取序列中元素的方法

    Python cookbook(数据结构与算法)筛选及提取序列中元素的方法

    这篇文章主要介绍了Python cookbook(数据结构与算法)筛选及提取序列中元素的方法,涉及Python列表推导式、生成器表达式及filter()函数相关使用技巧,需要的朋友可以参考下
    2018-03-03

最新评论