著者:すずきひろのぶ
最近、設定ファイルの名前にファイル拡張子yml がついていることが多いことに気がつきます。これはYAML というフォーマットです。プログラムの設定ファイルのフォーマットとしては簡単に使えるますが、自分のプログラムで使おうとすると意外と参考になる情報は少ないことに気がつきます。
今回はこの話題を取り上げます。
記事本文掲載のシェルスクリプトマガジンvol.49は以下リンク先でご購入できます。
1 2 3 4 5 6 7 8 9 10 11 |
# # Simple Sample for How to use YAML. # SUZULABO COMM, Shell Script Mag. # Auther: Hironobu SUZUKI # Date: 2017/06/12 # License: GPLv3 or later. # import yaml f = open("sample.yml", "r+") data = yaml.load(f) print data |
1 2 3 4 5 6 7 8 9 10 11 |
# # Simple Sample for How to use YAML. # SUZULABO COMM, Shell Script Mag. # Auther: Hironobu SUZUKI # Date: 2017/06/12 # License: GPLv3 or later. # item: subitem1: "subitem string" subitem2: 999 |
1 2 3 4 5 6 7 8 9 10 11 12 |
# # Simple Sample for How to use YAML. # SUZULABO COMM, Shell Script Mag. # Auther: Hironobu SUZUKI # Date: 2017/06/12 # License: GPLv3 or later. # network: port: 9989 hostname: localhost server: example.com example.co.jp |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# # Simple Sample for How to use YAML. # SUZULABO COMM, Shell Script Mag. # Auther: Hironobu SUZUKI # Date: 2017/06/12 # License: GPLv3 or later. # issuedate: 2017/06/12 samples: - filename: sample.yml auther: hironobu description: how to described multi level dictionary. version: 1.1 - filename: sample2.yml auther: hironobu description: sample of netrowk configuration. version: 1.1.1 - filename: sample3.yml auther: hironobu desctiption: itself. version: 1.300 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# # Simple Sample for How to use YAML. # SUZULABO COMM, Shell Script Mag. # Auther: Hironobu SUZUKI # Date: 2017/06/12 # License: GPLv3 or later. # contact_info: hironobu: { voip: 28371289@te1.me, xmpp: hironobu@edujabber.jp } jun: { voip: 29387189@te1.me, xmpp: jun@edujabber.jp } Description: >- Conntact Point of voip and xmpp. |
1 2 3 4 5 6 7 8 9 10 11 |
# # Simple Sample for How to use YAML. # SUZULABO COMM, Shell Script Mag. # Auther: Hironobu SUZUKI # Date: 2017/06/12 # License: GPLv3 or later. # require 'yaml' file = open("sample4.yml") data = YAML.load(file.read()) p data |