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

目录

  • 一、.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 yamlwith 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.rhkb.cn/news/394931.html

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

相关文章

[独家原创] CPO-RBF多特征分类预测 优化宽度+中心值+连接权值 (多输入单输出)Matlab代码

[独家原创] CPO-RBF多特征分类预测 优化宽度中心值连接权值 (多输入单输出)Matlab代码 目录 [独家原创] CPO-RBF多特征分类预测 优化宽度中心值连接权值 (多输入单输出)Matlab代码效果一览基本介绍程序设计参考资料 效果一览 基本…

java学习day016

API 1.Number 数字格式化 : # 任意数字,0-9任意单个数字 , 千分位 . 小数点 0 补位 //四位小数 DecimalFormat df new DecimalFormat("###,###.####"); System.out.println(df.format(1234567.312));//1,234,567.312 //四位小数,不够补0 df new Deci…

前缀和处理数组区间之和问题

1.什么是区间和问题 “区间和问题”通常指的是涉及计算或处理数组或数列某个子区间(即一段连续元素)的总和的类型问题。这类问题可能有多种变体和不同的复杂度,但基本思想都是在给定的区间内快速计算总和或处理与区间和相关的操作。 2.例题…

常见的框架漏洞

ThinkPHP 首先我们打开一个环境 然后进行远程命令执行代码 然后进行远程代码执行 ?sindex/think\app/invokefunction&functioncall_user_func_array&vars[0]phpinfo&vars[1][]-1 在网页中输出phpinfo getshell ?sindex/think\app/invokefunction&function…

c语言基础知识

ASCII码 字符A~Z的ASCII码值从65~90 • 字符a~z的ASCII码值从97~122 • 对应的⼤⼩写字符(a和A)的ASCII码值的差值是32 • 数字字符0~9的ASCII码值从48~57 • 换⾏ \n 的ASCII值是:10 • 在这些字符中ASCII码值从0~31这32个字符是不可打印字符,⽆法打印在…

sql实战cmseasy

环境搭建 这里我们用phpstady搭建 版本是cmseasy5.5 未授权访问 这里ip的方法获取客户端的ip 这里的意思是当你的server ip等于 客户端ip并且get传参 get(ishtml)1的情况下他会直接return 他就不会检查后面是不是admin,而他这个IP是从X_FORWARDED_FOR获取&…

Spring Boot 3.x Rest API统一异常处理最佳实践

上一篇:Spring Boot 3.x Rest API最佳实践之统一响应结构 在Spring MVC应用中,要对web表示层所抛出的异常进行捕获处理有多种方式,具体的可参考著名国外Spring技术实战网站baeldung上的相关话题。Spring Boot对Spring MVC应用中抛出的异常以…

RNN循环网络层

文章目录 1、简介2、RNN 网络原理3、PyTorch RNN 层的使用3.1、RNN送入单个数据3.2、RNN层送入批量数据 4、RNN三个维度4.1、解释4.2、输入数据的组织4.3、示例4.4、为什么需要这种格式?4.5、小结 🍃作者介绍:双非本科大三网络工程专业在读&a…

苹果手机数据被抹除还能恢复吗?这两个方法强烈推荐

苹果手机数据被抹除还能恢复吗?我们在使用苹果手机时,有时由于误操作、系统故障或升级失败等原因,导致手机照片、备忘录、视频、联系人等数据被意外抹除。 面对这类情况,我们应该怎么办?下面牛小编给大家的分享2个方法…

记录使用FlinkSql进行实时工作流开发

使用FlinkSql进行实时工作流开发 引言Flink SQL实战常用的Connector1. MySQL-CDC 连接器配置2. Kafka 连接器配置3. JDBC 连接器配置4. RabbitMQ 连接器配置5. REST Lookup 连接器配置6. HDFS 连接器配置 FlinkSql数据类型1. 基本数据类型2. 字符串数据类型3. 日期和时间数据类…

论文解读,神经网络全梯度表示《Full-Gradient Representation for Neural Network Visualization》

导语 这篇论文介绍了一种新的工具,称为全梯度,用于解释神经网络的响应。这个全梯度的概念将神经网络的响应分解为两个部分:输入灵敏度和每个神经元的灵敏度分量。 输入灵敏度:输入灵敏度指的是对于神经网络输出的影响程度。它反…

Python试讲

Python试讲 导语Python简介Python及其特点如何使用Python Python与计算计算变量 导语 本次试讲内容如下:Python简介与使用,Python与基本运算 辅助教材为 《趣学Python编程》和《Python编程从入门到实践》 Python简介 Python是目前入门最简单最好学的…

NSSCTF练习记录:[SWPUCTF 2021 新生赛]jicao

题目: 这段PHP代码的意思是: 对index.php文件进行语法高亮显示,插入flag.php文件,变量id的值为POST传递的值,变量json的值为GET传递的json类型的值。当id值为wllmNB且json中含有键为“x”,值为“wllm”的时…

数据结构:栈与队列OJ题

目录 前言 一、用栈实现队列 二、用队列实现栈 三、括号匹配问题 前言 前面讲了栈和队列的基础知识,今天来巩固一下加深理解,这里说明一下,因为现在都是在用C语言写,这些OJ题里都要用到前面实现栈和队列的代码,每道题…

告别数据丢失烦恼,转转数据恢复和另外三款工具助你一臂之力!

不知道大伙儿有没有和我一样,到哪都喜欢拍照片和视频,加上办公上也是七七八八的各种格式的文件实在是多,所以电脑和手机等等设备上经常内存爆满需要清理,难免会出现不小心误删或者格式化、清空等等的情况,用过几款和转…

Journyx项目管理软件 soap_cgi.pyc XXE漏洞复现

0x01 产品简介 Journyx-Journyx成立于1996年,提供自托管项目管理解决方案ProjectXecute。主要功能包括资源跟踪、待办事项列表、任务分配以及与MS Project的集成。要运行ProjectXecute,需要Windows 2003或更高版本、IIS Web服务器和Intel处理器。也可以在Linux、Solaris、AI…

#子传父父传子props和emits #封装的table #vue3

#子传父&父传子props和emits #封装的table #vue3 父组件&#xff1a;emits defineEmits props 子组件&#xff1a; 子组件 <template><el-table v-bind"$attrs" ref"innerTableRef" v-loading"loading" border :data"tabl…

力扣刷题-轮转数组

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 首先&#xff0c;我们现在这里提供的是一种特别简单的思路&#xff0c;我们先来看一下这段代码&#xff1a; void rotate(int* nums, int numsSize, int k) {k%numsSize;int n…

git clone private repo

Create personal access token Clone repo $ git clone https://<user_name>:<personal_access_tokens>github.com/<user_name>/<repo_name>.git

5个适用于Linux系统的PDF转Word工具

凭借其跨平台和设备的统一标准、兼容性和规模小巧等主要优点&#xff0c;可携带文档格式&#xff08;PDF&#xff09;可谓最主流的文件格式之一。 市面上有许多查看PDF文件的强大工具&#xff0c;因此所有Linux系统的用户都可以根据自身喜好找到合适的PDF查看工具。然而&#x…