python yaml配置文件_python读取yaml配置文件

首先了解一下yaml最基础、最常用的语法

大小写敏感

使用缩进代表层级关系

缩进只能用空格,不能使用Tab

不要求空格个数,只要相同层级左对齐

冒号后面需要输入一个空格,再输入值

字符串默认不使用引号表示,也可以用单引号或双引号,双引号不会对特殊字符进行转义

s1: '内容\n字符串'

s2: "内容\n字符串"

单引号之中如果还有单引号,必须连续使用两个单引号转义

str: 'labor''s day'

map嵌套map(字典)

# YAML表示

websites:

YAML: yaml.org

Ruby: ruby-lang.org

Python: python.org

Perl: use.perl.org

# 对应Json表示

{ websites:

{ YAML: 'yaml.org',

Ruby: 'ruby-lang.org',

Python: 'python.org',

Perl: 'use.perl.org' } }

map嵌套list(列表)

# YAML表示

languages:

- Ruby

- Perl

- Python

- c

# 对应Json表示

{ languages: [ 'Ruby', 'Perl', 'Python', 'c' ] }

list嵌套list

# YAML表示

-

- Ruby

- Perl

- Python

-

- c

- c++

- java

# 对应Json表示

[ [ 'Ruby', 'Perl', 'Python' ], [ 'c', 'c++', 'java' ] ]

除此以外,还可以如下表示该结构

# 方法2

- - Ruby

- Perl

- Python

- - c

- c++

- java

# 方法3

- [Ruby,Perl,Python]

- [c,c++,java]

list嵌套map

# YAML表示

-

id: 1

name: huang

-

id: 2

name: liao

# 对应Json表示

[ { id: 1, name: 'huang' }, { id: 2, name: 'liao' }

1、安装yaml

pip install pyyaml

2、编写一个py文件,读取yaml文件,yaml文件需要通过load方法转换成字典格式,然后再通过字典取值的方式获得值

# -*- coding:utf-8 -*-

import yaml

import os

# 获取当前文件的RealPath F:\before\lds\pages

fileNamePath = os.path.split(os.path.realpath(__file__))[0]

# 获取配置文件的路径 F:\before\lds\pages\application-lds.yml

yamlPath = os.path.join(fileNamePath, 'application-lds.yml')

# 先读取文件数据,再通过load方法转成字典

with open(yamlPath, 'r', encoding='utf-8') as f:

x = yaml.load(f, Loader=yaml.FullLoader)

print(x['table']['self'])

load加载成字典形式后,就可以使用key-value的形式去取值了。

你可能感兴趣的:(python,yaml配置文件)