YAML(YAML Ain't Markup Language的缩写)是一种人类可读的完整的数据序列化语言。通常用作软件的配置文件;
文件的标准扩展名为 .yaml,也可接受.yml扩展名;
YAML基本语法规则(基于缩进的Block Style):
- 大小写敏感;
- 使用缩进表示层级关系(类似Python风格);
- 缩进不允许使用Tab制表符,只允许使用空格字符;
- 缩进的空格数不重要,但官方推荐使用2个空格字符;
一个YAML文件或流可以包含多个文档Documents
文档可以显式地以---开头(可选的)。在规范中称此为指令结束标记,但实际使用中更多称为文档开始标记;
文档可以显式地以...结尾(可选的)。在规范中称此为文档结束标记,如果文档没有指令,可以省略---,仅用...来分割多个文档;
如果YAML文件或流仅包含一个文档,那么--- ...可以省略
目录
一、 yaml文件举例:
真行啊
Friendship is best
嗯,滚吧,我爱你
就这样爱着你。
理解
so how can you do it
You can say
remember all
input_wav: 7月9日.MP3
language: auto
result: Monday.Monday is the first day of the week.I wake up early and get ready for
school.I have breakfast with my family.😊At school.I learn new things and play with
my friends.😊After school.I do my homework.In the evening.I eat dinner, and watch
TV.😊Before bed.
url: http://8.138.102.232:6006/
使用说明: language语言,支持自动识别且默认自动识别,仅包含中文,英文,粤语,日语和汉语['auto', 'zh', 'en', 'yue',
'ja', 'ko'] input_wav代表要识别的视频,支持['flac', 'mp3', 'm4a', 'ogg', 'opus', 'wav', 'wma']
这两种都是yaml文件:
二、读取yaml文件
使用yaml的库便可以对其进行一系列操作:
import yaml
file='1.yaml'
with open(file, 'r', encoding='utf-8') as f:
yaml_data = yaml.safe_load(f)
print(yaml_data['mode_checkbox_group'])
有同学就会问了,那如果是但行读取呢,不是那种字典形式的文件,就每一行读取:
import yaml
file_path='1.yaml'
with open(file_path, 'r', encoding='utf-8') as file:
for line in file:
print(line)
这样便可以一行行读取
三、写入或者是修改yaml文件
import yaml
file='1.yaml'
with open(file, 'r', encoding='utf-8') as f:
yaml_data = yaml.safe_load(f)
yaml_data['result'] = audio_dir
with open(file, "w", encoding="utf-8") as f:
yaml.dump(yaml_data, f, allow_unicode=True)
这里大家可以看到,参数分为‘r'和’w‘,顾名思义,r为读的意思 ,没有该文件不会创建,w为写的意思,会直接写文件,没有会创建,会直接重写文件,如果参数是’a‘即会保留文件原内容的同时进行追加内容。
希望可以帮到大家!!