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'}}