Python-封装配置文件

在这里插入图片描述

在这里插入图片描述

Code

[url]
baidu = http://www.baidu.com[value]
send_value = 百度[server]
ip = 220.181.111.188

封装的格式可以套用

# 封装,类似函数调用
import configparserclass ReadConfigIni():def __init__(self,filename):self.cf = configparser.ConfigParser()self.cf.read(filename)def getConfigValue(self,section,name):value = self.cf.get(section,name)# print(value)return valueDoConfigIni = ReadConfigIni("test.ini")  #路径+文件名
BaiUrl = DoConfigIni.getConfigValue("url","baidu")
print("通过函数getConfigValue获得的值:",BaiUrl)

cf.ini文件

[db]
db_host = 127.0.0.1
db_port = 80
db_user = root
db_pass = root
host_port = 69[concurrent]
thread = 10
processor = 20
kong = 

op_cf.py文件

ini文件的增删查找演示

操作完成后都要加上 config.write(open(“cf.ini”,“w”)) (易错点)

# author:xiaowang
# date:2023/12/6
# 需求:ini文件的增删查找演示 操作完成后都要加上 config.write(open("cf.ini","w"))  #写入ini配置文件(易错点)
# 操作文档py
import configparserconfig = configparser.ConfigParser()   #实例化配置文件
config.read("cf.ini",encoding="utf-8")  #读取配置文件# 查找/读取操作
print(config.sections()) #读取所有的节
print(config.options("db"))  #指定节中键
print(config.get("db", "db_host")) #指定db节中db_host键中的值
print(config.get("concurrent","processor")) #指定节中的指定键的值
print(config.get("concurrent","kong"))
print(config.items("db"))  #输出指定db节的所有键值对(k:v)# 修改操作并通过读取验证
config.set("db","db_port","80") #将原来db_port的值69修改为80
config.write(open("cf.ini","w"))
print(config.get("db","db_port"))# 检查section 或 参数是否存在 (返回True或False)【适用在条件判断中if语句】
print(config.has_option("concurrent","thread")) #查找concurrent存在的thread节
print(config.has_option("concurrent","aa"))  #查找concurrent不存在的aa元素
print(config.has_option("concurrent","kong"))  #查找存在的kong节,只有k ,没有v(kong= )
print(config.has_section("db"))  #查找存在的db节
print(config.has_section("1b"))  #查找不存在的1b节# 添加,先判断节是否存在,若不存在添加节default
if not config.has_section("default"):config.add_section("default")
if not config.has_option("default","db_host"):config.set("default","db_host","1.1.1.1")
config.write(open("cf.ini","w"))  #写入ini配置文件(易错点)print(config.items("default"))# 删除某个节并查看所有节
config.remove_section("default")
config.write(open("cf.ini","w"))
print(config.sections())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/205712.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pr项目标准化ProjectNormalizer插件|解决PR剪辑视频在Windows和Mac电脑切换打开pr项目工程文件需要重新链接媒体问题

当我们在 Windows 中打开在 Mac 上剪辑视频的 Premiere Pro 项目文件时,需要重新链接媒体。通常,如果选中“自动重新链接其他人”复选框,媒体将在某种程度上链接在一起。但是,有时这是行不通的,并且可能是一个非常困难…

java获取ip的工具类

java获取ip的工具类 直接上代码 package com.loit.park.common.utils;import org.slf4j.Logger; import org.slf4j.LoggerFactory;import javax.servlet.http.HttpServletRequest; import java.net.InetAddress; import java.net.UnknownHostException;/*** author hanjinqun*…

百面嵌入式专栏(岗位分析)大疆嵌入式工程师【通信/流媒体】

文章目录 一、岗位简介二、解析2.1、网络协议2.2、音视频传输算法2.3、大规模音视频会议或直播系统 三、简历 沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将对大疆嵌入式工程师【通信/流媒体】岗位进行分析 。 一、…

使用微信虚拟支付后端请求API总是支付签名校验失败

请求失败报错 {"errcode":268490003,"errmsg":"支付签名(pay_sig)校验失败 rid: 65713307-300240ee-3bfad3fa"}访问query_order 我的代码: OrderParam orderParam new OrderParam(); orderParam.setEnv(env); orderParam.setOpen…

facebook广告的开户要求

Facebook广告开户的要求包括以下几个方面: 资质合规:包括营业执照及授权资质。营业执照图片必须清晰,没有PS痕迹,有公司盖章;通过企查查、爱企查、天眼查看开户主体是否存在高危风险提示,与开户时填写的基…

视频封面提取:精准截图,如何从指定时长中提取某一帧图片

在视频制作和分享过程中,一个有吸引力的封面或截图往往能吸引更多的观众点击观看。有时候要在特定的时间段内从视频中提取一帧作为封面或截图。如果每个视频都手动提取的话就会耗费很长时间,那么如何智化能批量提取呢?现在一起来看下云炫AI智…

用户案例|Milvus 助力 Credal.AI 实现 GenAI 安全与可控

AIGC 时代,企业流程中是否整合人工智能(AI)对于的企业竞争力至关重要。然而,随着 AI 不断发展演进,企业也在此过程中面临数据安全管理、访问权限、数据隐私等方面的挑战。 为了更好地解决上述问题,Credal.A…

# 如何在Nginx中配置服务器负载均衡(SLB)

服务器负载均衡(SLB)是一种技术,用于在多台服务器之间分发网络或应用程序流量。这有助于提高应用程序的可用性和可靠性,同时还可以优化资源的使用。在这篇文章中,我们将详细介绍如何在Nginx中配置SLB。 什么是Nginx&a…

0011Java程序设计-ssm药店管理系统微信小程序

文章目录 摘 要目 录系统实现5.2服务端开发环境 编程技术交流、源码分享、模板分享、网课分享 企鹅🐧裙:776871563 摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机…

利用eclipse导入外部java工程

利用eclipse导入外部java工程,打开eclipse,依次点击File-Import,…按下图依次执行…

粒子库particles.vue3在项目中的使用

一、particles.vue3是什么 particles.vue3 是一个 Vue 3 的组件库,用于在 Vue 3 项目中创建和管理粒子效果。它基于 tsparticles 引擎,提供了一系列的 Vue 组件,使我们能够轻松地在应用程序中添加动态的粒子效果。   如果您正在开发一个 V…

Redis配置项汇总(chao详细)

基本配置 port 6379 # 监听端口号,默认为6379,如果你设为 0 ,redis 将不在 socket 上监听任何客户端连接。 daemonize no #指定redis是否以守护线程的方式启动 databases 16 #创建database的数量,默认为0库 save 900 1 #刷新快照…

【redis笔记】分布式锁

什么需要分布式锁 分布式场景下,原单机的多进程多线程并发控制策略会失效,典型的像海量key分布在redis集群中,那么对这些key的并发修改操作就不像单机那样容易保证有序(单机的锁只对单机有效),这时就需要使…

Xilinx FPGA——ISE时序约束“建立时间不满足”问题解决记录

一、现象 最近使用赛灵思的FPGA设计项目时,出现时序约束失效问题。 点进去发现如下: 一个始终约束没有生效,有多处报错。 二、原因 出现这个问题的原因是,建立时间不满足。 时序违例的主要原因是建立时间和保持时间不满足要求&a…

服务器ipv6地址显示“scope global dadfailed tentative noprefixroute”无法连通的问题处理一例

服务器规模启用ipv6地址后,遇到一起案例 ,配置的服务ipv6地址显示“scope global dadfailed tentative noprefixroute”,无法连通,现将解决过程记录如下。 一、问题情况 1、ipv6信息检查 某台服务器配置ipv6地址后&#xff0c…

性能优化一条龙

性能优化 根据实际情况做性能优化的流程和分析。 性能优化的话,可以从很多方面,ui优化,组件优化,打包体积优化,页面优化等,但我们要监控这个页面哪些指标需要优化,比如FP,FCP&#x…

vue实现页面之间的el-select同步数据选项

demo案例&#xff1a; 父组件的el-select发生改变&#xff0c;子组件的el-select也可以发生改变 子组件的el-select发生改变&#xff0c;父组件的el-select也可以发生改变 核心就是给el-select组件的v-modle值互传 Index父组件页面 <template lang""><d…

Spark RDD惰性计算的自主优化

原创/朱季谦 RDD&#xff08;弹性分布式数据集&#xff09;中的数据就如final定义一般&#xff0c;只可读而无法修改&#xff0c;若要对RDD进行转换或操作&#xff0c;那就需要创建一个新的RDD来保存结果。故而就需要用到转换和行动的算子。 Spark运行是惰性的&#xff0c;在…

【Python】Python仓储管理系统(源码)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

uni-app 微信小程序之好看的ui登录页面(二)

文章目录 1. 页面效果2. 页面样式代码 更多登录ui页面 uni-app 微信小程序之好看的ui登录页面&#xff08;一&#xff09; uni-app 微信小程序之好看的ui登录页面&#xff08;二&#xff09; uni-app 微信小程序之好看的ui登录页面&#xff08;三&#xff09; uni-app 微信小程…