yaml 一般用来存储数据,相似于json编程
YAML(Yet Another Markup Language),一种直观的可以被电脑识别的数据序列化格式,是一个可读性高而且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。它参考了其它多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822,是相似于标准通用标记语言的子集XML的数据描述语言,语法比XML简单不少。json
因为YAML使用空白字符和分行来分隔资料,使得它特别适合用 grep、Python、Perl、Ruby 操做。编程语言
因为实现简单,解析成本很低,YAML 特别适合在脚本语言中使用。列一下现有的语言实现:Ruby,Java,Perl,Python,PHP,OCaml,JavaScript,除了Java,其余都是脚本语言。编码
YAML 比较适合作序列化。由于它是宿主语言数据类型直转的。spa
YAML 作配置文件也不错。写 YAML 要比写 XML 快得多(无需关注标签或引号),而且比 INI 文档功能更强。scala
因为兼容性问题,不一样语言间的数据流转建议不要用 YAML。code
YAML 使用可打印的 Unicode 字符,可以使用 UTF-8 和 UTF-16 编码。对象
pip install pyyamlblog
yaml格式,使用缩进对格式进行要求,不容许使用tab,只能使用空格,来肯定子项,同级,等等。ip
标签和值之间要有一个空格,要否则会当成一个字符串,不会当成是标签项。
userInfo:
name: yhleng
password: q123456
phone: 13718651887
path = os.path.join(sys.path[0],'test.yaml') f = open(path) x = yaml.load(f)
print x['userInfo']['name']
{'phone': 13718651887L, 'userInfo': {'password': 'q123456', 'name': 'yhleng'}}