python自动化笔记:配置文件.ini及yml文件

news2024/9/24 15:20:34

目录

  • 一、.ini配置文件
    • 1.1、ini编写格式
    • 1.2、读取.ini配置文件的数据
    • 1.3、编辑:写入和删除(了解即可)
  • 二、yaml文件
    • 2.1、yaml编写语法规则
    • 2.2、yaml三种数据结构
    • 2.3、yaml文件的读取和写入

一、.ini配置文件

后缀名.ini 用于存储项目全局配置变量
比如:接口地址 项目地址…输出文件路径

1.1、ini编写格式

[节点]
选项=选项值
注释前面加;
注意:节点不可以重复

[section]
option=value
option=value

创建nmb.ini文件,代码如下:

[log]
name = py30
level = INFO
file_ok = TRUE
file_name = py30.log

[mysql]
user = nmb
passwd = 123456

1.2、读取.ini配置文件的数据

from configparser import ConfigParser

# 实例化
config = ConfigParser()
# 读取配置文件
config.read("nmb.ini",encoding="utf-8")
# 获取ini文件中所有节点
sections = config.sections()
print(sections)
# 获取ini文件中某个节点下所有选项
options = config.options(section="log")
print(options)
# 获取ini文件中某个节点下某个选项的选项值,默认读取到的全部都是字符串
value = config.get(section="log",option="file_ok")
print(value)
print(type(value))
# 使读取出来为布尔值
val = config.getboolean(section="log",option="file_ok")
print(val)
# 获取ini文件中某个节点下所有选项及选项值---》元组列表
values = config.items(section="log")
print(values)

1.3、编辑:写入和删除(了解即可)

# 写入一个节点
new_section="userinfo"
if new_section not in sections:
    config.add_section(new_section)
    # 给某个节点添加选项及选项值
    config.set(section=new_section, option="username", value="luban")
    config.set(section=new_section, option="passwd", value="123456")
    with open("nmb.ini", "w+", encoding="utf-8") as file:
        config.write(file)
else:
    # 写入
    config.set("log", "file_name", "py30303.log")
    # 写入文件
    with open("nmb.ini", "w", encoding="utf-8") as file:
        config.write(file)
    # 另一种写法 config.write(open("nmb.ini", "w", encoding="utf-8"))
 
 # 删除节点
del_section = "userinfo"
print(sections)
if del_section in sections:
    config.remove_section(del_section)
    with open("nmb.ini","w+") as file:
        config.write(file)

# 删除选项及选项值
del_section1 = "userinfo1"
del_option = "username1"
config.remove_option(section=del_section1, option=del_option)
with open("nmb.ini", "w+") as file:
    config.write(file)

二、yaml文件

2.1、yaml编写语法规则

1、大小写敏感
2、使用缩进表示层级关系
3、禁止使用TAB缩进,缩进只能用空格,相同的层级元素左对齐即可
4、使用#表示注释
5、字符串可以不用引号标注

2.2、yaml三种数据结构

1、字典
使用冒号(:)表示键值对,同一缩进的所有键值对属于一个map

# Yaml(注意冒号后的空格)
name: luban
age: 15

2、列表
使用连字符(-)表示,注意-后的空格

- hello
- world

3、scalar(纯量)
字符串、数字、布尔值

2.3、yaml文件的读取和写入

先安装第三方库 PyYAML

1、读取

import yaml

with open("config.yml", "r") as file:
    data = yaml.load(stream=file, Loader=yaml.FullLoader)
    print(data)

2、写入

import yaml
modules=["中文", "pytest", "unittest", "requests", "requests"]
with open("config.yml", "a+") as file:
    yaml.dump(data=modules, stream=file, allow_unicode=True, encoding="utf-8")

在这里插入图片描述

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

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

相关文章

【单片机开发软件】使用VSCode开发STM32环境搭建

💌 所属专栏:【单片机开发软件技巧】 😀 作  者: 于晓超 🚀 个人简介:嵌入式工程师,专注嵌入式领域基础和实战分享 ,欢迎咨询! 💖 欢迎大家&#xff1…

随笔-见字如面

不出意外,7月的工时干成了部门第一,36个人天。 昨天洗头的时候,揉了两下头发,看了一眼,手里全是碎发,吓了一跳,赶紧冲掉了,这内力又精进了。最近加班有些疲惫了,总是感觉…

MySQL笔记(十):MySQL管理

一、用户管理 #用户管理 -- 原因:当我们做项目开发时,可以根据不同的开发人员,赋给她相应的mysql操作权限。 -- 所以,mysql数据库管理人员(root),根据需要创建不同的用户,赋给相应的…

SparkSQL中的JSON内置函数全解析

SparkSQL中的JSON函数快速入门 目录 SparkSQL中的JSON函数快速入门为什么需要JSON函数?SparkSQL JSON函数概览get_json_object: JSON字段提取利器json_tuple: 多字段提取神器from_json: JSON转结构化数据的桥梁to_json: 结构化数据转JSON的便捷工具schema_of_json: JSON Schem…

加密创投周期进化论(上篇):再造新世界

回到过去,选择决定命运。 作者:Wenser;编辑:郝方舟 出品 | Odaily星球日报(ID:o-daily) 2017 年 12 月,以太坊联创 Vitalik 在加密货币行业市值触及 5000 亿美元时,发出了…

C语言程序设计-[8] while语句循环结构

1、while语句循环结构定义 while语句循环结构的一般形式、流程图和执行过程如下: 注1:与前面一样,表达式可以是任意的,只要有值就行,遵循非0即真的原则。 注2:一个循环结构由四个要素构成:循环…

【漏洞复现】某赛通电子文档安全管理系统 NavigationAjax SQL注入漏洞

0x01 产品简介 某赛通电子文档安全管理系统(简称:CDG)是一款电子文档安全加密软件,该系统利用驱动层透明加密技术,通过对电子文档的加密保护,防止内部员工泄密和外部人员非法窃取企业核心重要数据资产&…

【机器学习】Caltech-101的基本概念和使用方法以及Caltech-101和ImageNet的联系和区别

引言 Caltech-101数据集是一个广泛用于对象识别任务的数据库,它包含了大约9,000张图像,这些图像来自101个不同的对象类别。每个类别包含的图像数量大约在40到800张之间,大多数类别大约有50张图像。图像的分辨率大致为300200像素 文章目录 引言…

sleuth+zipkin分布式链路追踪

概述 结构图 常见的链路追踪 cat zipkin pinpoint skywalking sleuth Sleuth介绍 Trace Span Annotation 使用Sleuth 添加依赖 <!--sleuth--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starte…

DSL domain specific language of Kola

How we design Kola - ApiHugKola background, Kola a consumer driver tester frameworkhttps://apihug.com/zhCN-docs/kola/003_dsl_contract Concept 在 Kola 定位中 Kola 是什么, 是致力于提供一个让相关各方都能够理解共同创造的测试框架和工具。 同时 Kola 是建立于业界…

AcWing双链表

0索引记录头结点&#xff0c;1索引是尾节点&#xff0c;idx从2开始记录 L和R是前面的索引和后面索引的数组&#xff0c;e是存储的元素的数组&#xff0c;k1的原因&#xff1a;k是表示第k个插入的元素&#xff0c; k ∈ [ 1 , inf ⁡ ] k\in [1,\inf] k∈[1,inf].但是 i d x ∈ …

卷爆大模型,引发硅谷大厂打擂台赛的AI Agent到底是何方神圣?

AI Agent是何方神圣&#xff1f; 让比尔盖茨在2023年预言&#xff1a;未来五年内有望正式迎来它&#xff0c;彻底改变人类的生产力与生活方式。 让吴恩达教授在AI Ascent 2024演讲中高赞&#xff1a;今年得益于它的工作流的帮助&#xff0c; 人工智能的能力范围将持续拓展&am…

VBA经典应用69例应用6:Range.NumberFormat属性

《VBA经典应用69例》&#xff08;版权10178981&#xff09;&#xff0c;是我推出的第九套教程&#xff0c;教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开&#xff0c;这套教程案例众多&#xff0c;紧贴“实战”&#xff0c;并做“战术总结”&#xff0c;以便…

2023年中国城市统计年鉴(PDF+excel)

2023年中国城市统计年鉴 1、时间&#xff1a;1985-2023年 2、格式&#xff1a;PDFexcel 3、说明&#xff1a;中国城市统计年鉴收录了全国各级城市社会经济发展等方面的主要统计数据&#xff0c;数据来源于各城市的相关部门。本年鉴内容共分四个部分&#xff1a;第一部分是全…

HDFS 之 文件流

org.apache.hadoop.hdfs.DFSInputStream read 接口的关键逻辑在以下 pread 接口。 private int pread(long position, ByteBuffer buffer)throws IOException {// sanity checksdfsClient.checkOpen();if (closed.get()) {throw new IOException("Stream closed");}…

24/8/8算法笔记 决策树构建鸢尾花

决策树是一种由算法自动设计的模型。在机器学习中&#xff0c;构建决策树的过程通常遵循以下步骤&#xff1a; 特征选择&#xff1a;算法会评估每个特征&#xff0c;并选择一个特征作为节点分裂的依据。这个选择基于某种准则&#xff0c;如信息增益&#xff08;ID3算法&#xf…

手把手教你去掉WinRAR中的广告?

你是否在使用WinRAR的时候&#xff0c;打开压缩包的时候&#xff0c;它就会给你弹出一个广告窗口&#xff0c;是不是很烦人。本章教程&#xff0c;教你如何将它去除掉。 1、下载所需软件 通过百度网盘分享的文件&#xff1a;reshacker 链接&#xff1a;https://pan.baidu.com/s…

基础复习(前端部分)

MVVM(Model-View-ViewModel)的前端开发思想 Model: 数据模型&#xff0c;特指前端中通过请求从后台获取的数据 View: 视图&#xff0c;用于展示数据的页面&#xff0c;可以理解成我们的htmlcss搭建的页面&#xff0c;但是没有数据 ViewModel: 数据绑定到视图&#xff0c;负责…

SQL Server端口设置完整详细步骤

​ 大家好&#xff0c;我是程序员小羊&#xff01; 前言&#xff1a; 前面是对SQLserver服务器一些介绍&#xff0c;不想了解的可直接点击目录跳入正题&#xff0c;谢谢&#xff01;&#xff01;&#xff01; SQL Server 是由微软公司开发的关系数据库管理系统 (RDBMS)。它主要…

伪原创改写软件,最便捷的改文章选择

说到改文章&#xff0c;很多人的直接想法就是自己动手去修改&#xff0c;但自己动手改文章的过程中是需要花大量时间阅读并理解透文章写的意思&#xff0c;然后才便于修改&#xff0c;然而伪原创改写软件的出现却在修改文章的工作中提供了非常大多的作用&#xff0c;不管是节省…