当前位置: 首页 > news >正文

Python configparser模块使用教程

文章目录

  • .ini 拓展名文件简介
  • .ini 文件格式
    • 1. 节
    • 2. 参数
    • 3. 注解
  • configparser 模块简介
  • configparser 模块的初始化和读取
  • 获取 ini 中所有 section
  • 获取 section 下的 key
  • 获取 section 下的 value
  • 获取指点section的所用配置信息
  • 修改某个key,如果不存在则会出创建
  • 检查 section 或 key 是否存在
  • 添加section 和 key
  • 删除 section 和 key
  • 保存修改

.ini 拓展名文件简介

.ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,.ini文件是纯文本格式,所以可以用任何纯文本编辑器来进行编辑其内容。

.ini 文件格式

.ini文件由节、键、值组成。

1. 节

节名来区分不同用途的参数区。
[section]

2. 参数

(键=值)
name=value

3. 注解

注解使用分号表示(;)。
在分号后面的文字,直到该行结尾都全部为注解。

; project config

configparser 模块简介

configparser 模块是用来读取或设置配置文件的包。

configparser 为内置模块,无需再下载

configparser 模块的初始化和读取

在这里插入图片描述
在读取 .ini 文件前 configparser 模块进行必须要先进行初始化

import configparser
config = configparser.ConfigParser()  #实例化 config 对象
config.read("config.ini", encoding="utf-8")  #encoding 为可选参数

获取 ini 中所有 section

使用 sections 方法以列表的方式返回 .ini 文件中所有

import configparser
config = configparser.ConfigParser()  #实例化 config 对象
config.read("config.ini", encoding="utf-8")  #encoding 为可选参数print(config.sections())

在这里插入图片描述

获取 section 下的 key

使用 options 方法以列表的方式返回指定 section 下所有 key

import configparserconfig = configparser.ConfigParser()config.read("config.ini")section = config.sections()[0] # 获取 第一个 section的名字print(config.options(section))

获取 section 下的 value

使用 get(section, key) 方法获取指定 sectionkey 的值

import configparserconfig = configparser.ConfigParser()config.read("config.ini")section = config.sections()[0] # 获取 第一个 section的名字key = config.options(section)[0] # 获取 第一个 section 下的第一个 keyprint(config.get(section, key)) # 获取 section 下 key 的值

获取指点section的所用配置信息

使用 items(section) 方法以列表的方式获取指定 section 的配置信息

import configparserconfig = configparser.ConfigParser()config.read("config.ini")section = config.sections()[0]print(config.items(section))

在这里插入图片描述

修改某个key,如果不存在则会出创建

使用 set(section, key, value) 方法修改指定 section 下的 key 的值
修改后需要使用 write(open(filepath, "w") 保存修改

import configparserconfig = configparser.ConfigParser()config.read("config.ini")section = config.sections()[0]print(config.items(section))key = config.options(section)[0] # 获取 第一个 section 下的第一个 keyconfig.set(section, key, "9")  #修改key的值为9
config.write(open("config.ini", "w"))   #修改需要使用 write 保存修改

在这里插入图片描述

检查 section 或 key 是否存在

使用 has_section 方法检查对应的 section 是否存在;
使用 has_option(section, key) 方法检查对应的 key 是否存在;

config.has_section(section) # 判断是否存在section
config.has_option(section, key) # 判断 section 下是否存在 key

添加section 和 key

使用 add_section(section) 方法添加 section
添加 key 同样使用 set(section, key, value) 方法

config.add_section(section)

删除 section 和 key

使用 remove_section(section) 方法删除 section
使用 remove_option(section, key) 方法删除 key

保存修改

使用 write(open(filepath, "w") 保存修改

相关文章:

Python configparser模块使用教程

文章目录 .ini 拓展名文件简介.ini 文件格式1. 节2. 参数3. 注解 configparser 模块简介configparser 模块的初始化和读取获取 ini 中所有 section获取 section 下的 key获取 section 下的 value获取指点section的所用配置信息修改某个key,如果不存在则会出创建检查…...

Kotlin + 协程 + Room 结合使用

文章目录 前言集成Room结合协程的使用总结 一、前言, 现在kotlin 是趋势,那必然就要用到协程,还有就是随着jetpack 的发力,带来了很多好用的库,比如今天提到Room,是一个类似greenDao的数据库。它不但支持kotlin协程…...

网工记背命令(6)----链路聚合配置

目录 1.配置手工负载分担模式链路聚合 2.配置LACP模式的链路聚合 3.HUAWEI设备与C厂商设备对接 链路聚合(Link Aggregation)是将多条物理链路捆绑在一起成为一条逻辑链路,从而增加链路带 宽的技术。 常用配置命令 1、执行命令 interface …...

使用 Service 把前端连接到后端

使用 Service 把前端连接到后端 如何创建前端(Frontend)微服务和后端(Backend)微服务。后端微服务是一个 hello 欢迎程序。 前端通过 nginx 和一个 Kubernetes 服务暴露后端所提供的服务。 使用部署对象(Deployment ob…...

vue 如何优化首页的加载速度?vue 首页白屏是什么问题引起的?如何解决呢?

vue 如何优化首页的加载速度? 路由懒加载ui框架按需加载gzip压缩 vue首页白屏是什么问题引起的 第一种,打包后文件引用路径不对,导致找不到文件报错白屏 解决办法:修改一下config下面的index.js中bulid模块导出的路径。因为in…...

Android平台GB28181设备接入模块之SmartGBD

大牛直播SDK研发的Android平台GB28181设备接入SDK(SmartGBD),可实现不具备国标音视频能力的 Android终端,通过平台注册接入到现有的GB/T28181—2016服务,可用于如执法记录仪、智能安全帽、智能监控、智慧零售、智慧教育…...

JVM第十三讲:调试排错 - JVM 调优参数

调试排错 - JVM 调优参数 本文是JVM第十三讲,调试排错 - JVM 调优参数。对JVM涉及的常见的调优参数和垃圾回收参数进行阐述。 文章目录 调试排错 - JVM 调优参数1、Jvm参数2、垃圾回收 问题1:线上ECS治理问题2:白龙马线上服务机JVM参数配置&a…...

Android Gradle权威指南读书笔记

第一章 Gradle入门 生成Gradle Wrapper 命令:gradle wrapper --gradle-version 版本号自定义Gradle Wrapper task wrapper(type : Wrapper) { gradleVersion 2.4 archiveBase GRADLE USER HOME archivePath wrapper/dists distributionBase GRADLE USER HOME …...

顺子日期(蓝桥杯)

文章目录 顺子日期问题描述答案:14字符串解题CC语言指针C语言函数 数组解题 顺子日期 问题描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小明特别喜欢顺子。顺子指的就是连续的三个数字:123、…...

攻防世界web篇-unserialize3

得出php代码残篇 将代码补全后再在线php运行工具中进行运行 在浏览器输入后得到下面的界面 这里需要将O:4:“xctf”:1:{s:4:“flag”;s:3:“111”;} 改为 O:4:“xctf”:2:{s:4:“flag”;s:3:“111”;}...

微信小程序 onLoad和onShow的区别

在微信小程序中,onLoad() 和 onShow() 是两个常用的生命周期函数,用于监听页面的加载和显示事件。这两个函数的区别如下: 触发时机 onLoad() 函数只会在页面加载时触发一次,而 onShow() 函数每次页面显示时都会被触发。因此&#…...

elementui select组件下拉框底部增加自定义按钮

elementui select组件下拉框底部增加自定义按钮 el-select组件的visible-change 事件&#xff08;下拉框出现/隐藏时触发&#xff09; <el-selectref"select":value"value"placeholder"请选择"visible-change"visibleChange">&…...

深入理解闭包:原理、应用与最佳实践

1、 什么是闭包&#xff1f; 如果一个函数内部定义了另一个函数&#xff0c;并且内部函数引用了外部函数的变量&#xff0c;那么内部函数就形成了一个闭包。 def outer_function(x):# 外部函数接受一个参数 x 是自由变量# seed 也是一个自由变量seed 10def inner_function(y…...

[NSSCTF 2nd]Math

原题py&#xff1a; from secret import flag from Crypto.Util.number import * import gmpy2length len(flag) flag1 flag[:length//2] flag2 flag[length//2:] e 65537m1 bytes_to_long(flag1) p getPrime(512) q getPrime(512) n p*q phi (p-1)*(q-1) d gmpy2.i…...

uml知识点学习

https://zhuanlan.zhihu.com/p/659911315https://zhuanlan.zhihu.com/p/659911315软件工程分析设计图库目录 - 知乎一、结构化绘图1. 结构化——数据流图Chilan Yuk&#xff1a;1. 结构化——数据流图2. 结构化——数据字典Chilan Yuk&#xff1a;2. 结构化——数据字典3. 结构…...

JAVA学习日记1——JAVA简介及第一个java程序

简单记忆 JAVA SE &#xff1a;标准版&#xff0c;核心基础 JAVA EE&#xff1a;企业版&#xff0c;进阶 JDK&#xff1a;Java Development Kit&#xff0c;Java开发工具包&#xff0c;包含JRE JRE&#xff1a;Java Runtime Environment&#xff0c;Java运行时环境&#xff…...

Linux命令(102)之less

linux命令之less 1.less介绍 linux命令less是一个文本文件查看工具&#xff0c;它以一种交互的方式&#xff0c;逐页地显示文本文件的内容&#xff0c;并且可以在文件中进行搜索等定位 2.less用法 less [参数] filename less参数 参数说明-N显示每行的行号-i忽略搜索时的大…...

vue多条件查询

<template><div><input type"text" v-model"keyword" placeholder"关键字"><select v-model"category"><option value"">所有分类</option><option v-for"cat in categories&q…...

c 语言基础:L1-038 新世界

这道超级简单的题目没有任何输入。 你只需要在第一行中输出程序员钦定名言“Hello World”&#xff0c;并且在第二行中输出更新版的“Hello New World”就可以了。 输入样例&#xff1a; 无输出样例&#xff1a; Hello World Hello New World 程序源码&#xff1a; #incl…...

计算机算法分析与设计(13)---贪心算法(多机调度问题)

文章目录 一、问题概述1.1 思路分析1.2 实例分析 二、代码编写 一、问题概述 1.1 思路分析 1. 设有 n n n 个独立的作业 1 , 2 , … , n {1, 2, …, n} 1,2,…,n&#xff0c;由 m m m 台相同的机器 M 1 , M 2 , … , M m {M_1, M_2, …, M_m} M1​,M2​,…,Mm​ 进行加工处…...

MacBook上5分钟搞定Jmeter接口压测:从下载到脚本自动保存结果(附BeanShell代码)

MacBook高效接口压测指南&#xff1a;5分钟实现Jmeter自动化结果收集 每次遇到偶发性接口问题&#xff0c;手动点击上百次查看结果是不是让你抓狂&#xff1f;作为开发者&#xff0c;我们需要的不仅是工具&#xff0c;更是一套能自动完成脏活的解决方案。今天我们就来彻底解决…...

大模型小白程序员必看:收藏这份AI智能体学习路径与构建思路

大模型小白程序员必看&#xff1a;收藏这份AI智能体学习路径与构建思路 本文系统梳理AI智能体的概念、发展脉络与核心架构&#xff0c;清晰拆解其与传统工作流的本质差异&#xff0c;聚焦智能体三大核心组件&#xff08;规划能力、记忆系统、工具使用机制&#xff09;的技术细节…...

Win10 LTSC 1809系统下Docker 4.0.0与CVAT 2.31.0的完美搭配:避坑指南与性能优化

Win10 LTSC 1809系统下Docker 4.0.0与CVAT 2.31.0的完美搭配&#xff1a;避坑指南与性能优化 在工业级计算机视觉标注领域&#xff0c;CVAT&#xff08;Computer Vision Annotation Tool&#xff09;凭借其开源特性和强大的标注功能&#xff0c;已成为许多研究团队的首选工具。…...

Qwen-Image-2512实现Python爬虫数据自动化处理:电商图片批量生成方案

Qwen-Image-2512实现Python爬虫数据自动化处理&#xff1a;电商图片批量生成方案 1. 引言 如果你是做电商的&#xff0c;或者负责过电商运营&#xff0c;肯定遇到过这个头疼的问题&#xff1a;上架一个新商品&#xff0c;或者给一批老商品换季上新&#xff0c;需要准备大量的…...

大模型数据治理终极指南:5个关键步骤实现高效生命周期管理

大模型数据治理终极指南&#xff1a;5个关键步骤实现高效生命周期管理 【免费下载链接】Foundations-of-LLMs 项目地址: https://gitcode.com/GitHub_Trending/fo/Foundations-of-LLMs 大模型数据治理是构建高质量AI系统的基石&#xff0c;对于确保模型性能、合规性和可…...

vue3-composition-admin TypeScript最佳实践:类型安全与开发效率的完美平衡

vue3-composition-admin TypeScript最佳实践&#xff1a;类型安全与开发效率的完美平衡 【免费下载链接】vue3-composition-admin &#x1f389; 基于vue3 的管理端模板(Vue3 TS Vuex4 element-plus vue-i18n-next composition-api) vue3-admin vue3-ts-admin 项目地址: http…...

串口转HID实战:CH9329芯片在无外网环境下的应用指南

CH9329芯片串口转HID实战&#xff1a;隔离环境下的设备控制方案 在工业控制、医疗设备和某些特殊应用场景中&#xff0c;经常需要在物理隔离的网络环境下实现设备控制。CH9329芯片作为一款串口转HID&#xff08;人机接口设备&#xff09;的专业芯片&#xff0c;为解决这类问题提…...

一文搞懂Agent三大核心技术:Function Calling、MCP、A2A,小白也能轻松收藏学习!

本文详细解析了AI Agent的三大核心技术&#xff1a;Function Calling、MCP和A2A。Function Calling使AI能够主动获取外部信息&#xff0c;MCP为工具接入提供了标准化接口&#xff0c;而A2A则实现了多智能体之间的协作。通过这三个技术的演进&#xff0c;AI Agent的能力从点对点…...

大模型私有化不是选型,是生存!Python工程师必须在Q3前掌握的5类国产化适配方案,否则明年项目全卡审批

第一章&#xff1a;大模型私有化是Python工程师的生存分水岭当企业开始将大语言模型从公有云API转向本地GPU集群部署&#xff0c;Python工程师的角色正经历一次静默但深刻的重构——不再只是调用requests.post()封装接口&#xff0c;而是要亲手构建模型加载、推理服务、权限控制…...

WWW-万维网

万维网的概念与组成结构万维网&#xff08;World Wide Web&#xff0c;WWW&#xff09;是一个分布式的信息存储空间&#xff0c;在这个空间中&#xff1a;一个事物被称为一样 “资源”&#xff0c;并由一个全域 “统一资源定位符”&#xff08;URL&#xff09;标识。这些资源通…...