【Python】“yaml”是什么文件?怎么在代码中封装重要的信息(如账号密码、网址等)?
YAML,是一种用于配置文件和数据传输的格式,它支持数据层次结构的表示,并且可以包含键值对、列表、字典等多种数据结构。使用它来给数据做保密
我们在写python代码的时候,如果我们把一些账号密码、网址、数据库连接方式暴露在主代码里,很容易给人一眼看代码就暴露出来。
所有我们可以做一个小小的封装,可以把一些重要的信息封装起来,运行的时候需要从外部去调用它。
这个时候,可以小小地使用一下 “ yaml ” 文件
1. YAML文件介绍
那么,什么是 “yaml” 文件?
YAML,英文全称:YAML Ain’t Markup Language
是一种用于配置文件和数据传输的格式,它支持数据层次结构的表示,并且可以包含键值对、列表、字典等多种数据结构。
.yaml文件是一种数据序列化格式,它被设计为易于人类阅读和编写,同时也易于机器解析和生成。
大白话就是,它可以用于存储【简单】的数据,尽管它不是数据库格式,但在某些情况下,它可以用来存储配置数据或小规模的数据集。就是书写简洁,即调即用~
YAML 文件通常用于以下场景:
配置文件:许多应用程序和开发工具使用 YAML 来存储配置信息,因为它的结构清晰,易于理解和编辑。
数据交换:YAML 可以用于不同程序或服务之间交换数据,因为它的格式是语言无关的,并且可以很容易地被转换成多种编程语言的数据结构。
版本控制系统:在版本控制系统(如Git)中,YAML 常用于编写
.gitignore文件,用来指定哪些文件或目录应该被忽略,不加入版本控制。自动化脚本:在自动化和配置管理工具(如Ansible、Puppet、Chef等)中,YAML 被用来定义配置脚本和自动化任务。
API文档:Swagger 和 OpenAPI 等 API 文档工具使用 YAML 来定义 API 的结构和行为。
YAML 文件的语法包括:
- 使用缩进来表示层级关系。
- 使用冒号后跟一个空格来分隔键和值。
- 使用破折号(
-)来表示列表的开始。- 使用花括号(
{})来表示空字典或集合。- 使用方括号(
[])来表示列表。
一个简单的 YAML 文件示例:
# 这是一个注释
person:
name: John Doe
age: 30
children:
- name: Jane Doe
age: 10
- name: Doe Junior
age: 7
在这个例子中,person 是一个字典,它包含 name 和 age 键值对,以及一个 children 键,其值是一个包含两个字典的列表。
上面只是一个例子,我们也可以看出这个写法很直接,一目了然的感觉。
我们可以用它来封装一些,我们认为重要的信息。例如 网址、用户名、密码、金额、时间 等等,或者一些不想给人直接看到的数字之类的。
2. 写法:
我们可以在这个yaml里面,写好配置的内容,作为setting的配置文件
上面是我写的yaml的配置的内容,主要放置了一些用户名、密码、网址和运行次数等等。
而读取这个文件,则需要写一个读取文件:
import os
import yaml
class Setting:
"""
这个类用于配置一些私密内容,例如传入的网址,密码等,用于保证文件的隐秘性
"""
@staticmethod
def ReadSetting(SettingPath):
"""
读取配置文件
"""
with open(os.path.expanduser(SettingPath), "r", encoding='utf-8') as config:
cfg = yaml.safe_load(config)
return cfg
在外部调用的时候,就可以这样写:
SettingPath = './setting.yaml'
Config = .ReadSetting(SettingPath)
Login= Config['login']
print(Login)
这样约等于把我们重要的内容,放在文件夹的主页后面,这样人家在翻看文件夹的内容的时候,得要找一找才能找到这些信息了~
注意:使用Yaml文件只是类似找了一个文件夹装一些重要的信息点,但是并不能起到保密的作用,一些特别重要甚至敏感的信息,建议可以存放数据库,或者给文件加密等等哦!

更多推荐


所有评论(0)