Python中configparser的使用

2023-11-18

1. configparser介绍

configparser是python自带的配置参数解析器。可以用于解析.ini文件中的配置参数。ini文件中由sections(节点)-key-value组成。

2. ini文件配置说明

[DEFAULT]
key1 = value1 

[section1] 
key1 = value1 
key2 : value2

[section2]
key1 = value1
key2 = value2
  • [DEFAULT]是特殊的节点,使用config.sections()的时候不会被输出。当调用其它节点的某key时:
    – 若其他节点中存在key,输出对应节点的key及value
    – 若其他节点中不存在key,DEFAULT中存在对应的key的话,输出DEFAULT中的key
  • [section1] 区分大小写,前后空格不会被处理,同一个配置文件中不允许重复。
  • key:不区分大小写,前后空格会被处理,同一个section中不允许重复,不可以跨。key和value可以使用 key = value 也可以使用 key : value

3. 读取配置示例

(1)config.ini

[DEFAULT]
port = 8080

[MySQL]
host = 172.xxx.xxx.xxx
port = 3306
user = root
password = ******
db = bgp_routing
charset = utf8

(2)读取配置文件config.read()

import configparser
from pathlib import Path

config_dir = r'./config.ini' # 配置文件地址
config = configparser.ConfigParser()
config.read(config_dir, encoding='utf-8')  # 从文件中读取配置信息

(3)获取配置文件中的key和value

config的key和value的获取有两种方式:

  • config.get()函数读取:默认返回str
  • 字典读取:默认返回str

注:这里无论是通过上述哪种方式获取value,返回的数据类型均为str。因此,如果需要其他类型(如端口需要int型),需要使用强制类型转化。

以下给出具体示例:

# 获取所有的节点sections
print(config.sections())  # ['MySQL']

port1 = config['MySQL']['port'] 
print(port1)  # 3306
print(type(port1))  # <class 'str'>

port2 = config.get('MySQL', 'port')
print(port2)  # 3306
print(type(port2))  # <class 'str'>

以数据库连接为例,介绍将config返回的str类型转化为int类型:

import pymysql

conn = pymysql.connect(
    host=config.get('MySQL', 'host'),
    port=int(config.get('MySQL', 'port')),  # 将port转化为int型!!!
    user=config.get('MySQL', 'user'),
    password=config.get('MySQL', 'password'),
    db=configg.get('MySQL', 'db'),
    charset=config.get('MySQL', 'charset')
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python中configparser的使用 的相关文章

随机推荐

  • PLSQL Developer 12 汉化包下载

    下载地址 https www allroundautomations com plsqldevlang 120 index html 转载于 https www cnblogs com mayblog p 10937552 html
  • ce工具的服务器文件,CE工具怎么找游戏服务器数据

    CE工具怎么找游戏服务器数据 内容精选 换一换 模型准备以昇腾模型压缩工具的安装用户将需要量化的TensorFlow模型上传到Linux服务器任意目录下 本章节以sample包中自带的mobilenet v2 pb网络模型为例进行说明 用户
  • 远程控制工具ToDesk测评

    目录 一 远程办公时代 1 前言 2 远程办公时代 3 ToDesk主要适用人群 4 主要适用领域 二 下载与安装 1 下载地址 2 安装 3 主页焕然一新 支持自定义密码 4 连接远程服务器 三 简单操作测评 1 多开软件测评 2 上传文
  • Linux系统优势

    熟悉电脑的人都知道 Linux 相比较于 Windows 有着众多的优势 所以现在越来越多的电脑用户开始使用 Linux 进行办公 学习 总体来讲 Linux 的优势主要有以下几个方面 一 开源 免费 众所周知 不管是微软的Windows
  • html嵌套html的两种方法( iframe,load)

    1 使用 iframe 标签 src 你要导入的html scrolling 是否开启滚屏 frameborder 是否设置边框 style 设置样式 2 使用jQ的load page1 load publish html 获取某个div的
  • 程序员4月书讯:Angular来了!

    3月书讯中奖名单 小棒棒 学习敏捷 构建高效团队 镇屌的技术之路 学习敏捷 构建高效团队 阿基米东 Scratch少儿趣味编程2 民团司令 追踪引力波 JOHNEW 算法图解 中奖通知由CSDN官方发布站内消息 请关注消息通知 好书推荐 在
  • 2023年第2季社区Task挑战赛升级新玩法,等你来战!

    第1季都有哪些有趣的作品 在大家的共建下 FISCO BCOS开源生态不断丰富完善 涌现了众多实用技术教程和代码 基于数字身份凭证的业务逻辑设计 贡献了发放数字身份凭证的参考实现 提供企业碳排放 慈善公益等智能合约库业务场景案例 体验最新发
  • Eureka,拿捏日千万级访问量妥妥的!

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 问题起源 Spring Cloud架构体系中 Eureka是一个至关重要的组件 它扮演着微服务注册中心的角色 所有的服务注册与服务发现 都是依赖Eureka的 不少初
  • 如何解决:ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。

    python编写mqtt服务时候出现如下问题 ConnectionRefusedError WinError 10061 由于目标计算机积极拒绝 无法连接 尝试了网上的很多方法都无法解决 发现主要问题在于broker没有打开 可以下载emq
  • 使用CDN有什么好处?

    现如今 在这个移动互联网时代 越来越多的人使用手机观看视频 丰富自己的娱乐生活 可是 大家在追剧的时候 有没有想过一个问题 为什么以前观看视频时 那么卡顿 现在看视频却这么流畅呢 其实 这是互联网视频内容提供商使用了摩杜云CDN 解决巨大流
  • 操作系统可以做服务器操作系统,可以做服务器操作系统

    可以做服务器操作系统 内容精选 换一换 Atlas 800 训练服务器 型号 9010 安装上架 服务器基础参数配置 安装操作系统等操作请参见 Atlas 800 训练服务器 用户指南 型号9010 Atlas 800 训练服务器 型号 9
  • 【windows11】python安装教程(超简易·免配置)

    废话不多说 直接上流程 一 下载python 认准官方网址 http www python org 由于是国外平台网站 网页加载可能有些慢 可以耐心等待 鼠标光标移至 Downloads 处 点击 All releases 若想体验最新版
  • Libvirt安装

    目录 建立在上一章的基础上 一 Libvirt安装与配置 1 修改 etc selinux config 文件 2 配置yum源为阿里源 3 清理yum源 4 重新生成新缓存 5 检查系统是否安装 libvirt qemu 6 检查kvm模
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • Linux磁盘管理

    lsblk 使用lsblk命令可以以tree的形式展示所有设备的信息 lsblk命令的英文是 list block 即用于列出所有可用块设备的信息 而且还能显示他们之间的依赖关系 但是它不会列出RAM盘的信息 使用者权限 所有用户 语法格式
  • HCNP路由交换笔记

    路由基础 路由 在报文转发的过程中沿途的网络设备收到该报文后 会根据其携带的目的IP地址来判断如何转发这个报文 最终将报文从恰当的接口转发出去 当一台路由器收到一个IP报文后 会在自己的路由器中执行路由查询 寻找匹配报文的目的IP地址的路由
  • 如何更改vue项目中的小图标

    1 先将icon图标放入static文件夹中 2 然后在index html文件中引入 3 保存后刷新浏览器就可以显示图标了
  • 如何开启esxi主机的ssh远程连接

    环境 esxi主机 说明 esxi主机默认ssh是不开启的 需要人工手动启动 也可以设置同esxi主机一起开机启动 1 找到esxi主机 点击 配置 那里 再点击右边的属性 如图所示 2 在 服务属性 界面中 可以看到很多服务 找到 SSH
  • navicat mysql data transfer_Navicat 导出导入数据库的实现方法

    描述 把mysql数据库中的一个数据库导出 备份 或者传输给别人 导出 使用Navicat连接到mysql 然后选中你要导出的数据库 右键 选择转储SQL文件 命名为数据名 sql 保存到本地中即可 如下图 选择转储SQL文件 保存到本地
  • Python中configparser的使用

    1 configparser介绍 configparser是python自带的配置参数解析器 可以用于解析 ini文件中的配置参数 ini文件中由sections 节点 key value组成 2 ini文件配置说明 DEFAULT key