https://ja.wikipedia.org/wiki/JavaScript_Object_Notation
- Python標準に含まれている
- 仕様が厳格に決まっている
- ファイル内にコメントが書けない
- 末尾コンマ消し忘れるとエラー
- カッコ多い
- 書くの簡単じゃないかも
[
{"path": "C:\\Download\\paper",
"extension": ["pdf", "doc"],
"destination": ["C:\\Dropbox\\論文\\*", "C:\\My Documents\\査読\\*"]},
{"path": "C:\\Download\\music",
"extension": ["mp3", "wav", "mp4"],
"destination": ["C:\\Dropbox\\音楽\\*", "C:\\My Music\\*"]}
]
{
path: ["C:\\Download\\paper", "C:\\Download\\music"]
}
{
extension: ["pdf", "doc"],
destination: ["C:\\Dropbox\\論文\\*", "C:\\My Documents\\査読\\*"]
}
{
extension: ["mp3", "wav", "mp4"],
destination: ["C:\\Dropbox\\音楽\\*", "C:\\My Music\\*"]
}
https://ja.wikipedia.org/wiki/YAML
- コメント書ける
- 末尾コンマとかあってもなくても大丈夫(たぶん)
- 書くのが難しいらしい?
- インデント(字下げ)が難しい?
- Python標準ライブラリに含まれていない
- バージョンが幾つか存在するらしく、ハマりポイントらしい
# これはコメント行
- path: 'C:\Download\paper'
extension:
- 'pdf'
- 'doc'
destination:
- 'C:\Dropbox\論文\*'
- 'C:\My Documents\査読\*'
- path: 'C:\Download\music'
extension: ['mp3', 'wav', 'mp4'] # こういう書き方もできる
destination: ['C:\Dropbox\音楽\*', 'C:\My Music\*']
path: ['C:\Download\paper', 'C:\Download\music']
# または
path: 'C:\Download\paper'
'C:\Download\music'
extension:
- pdf
- doc
destination:
- 'C:\Dropbox\論文\*'
- 'C:\My Documents\査読\*'
# こういう書き方もできる
extension: ["mp3", "wav", "mp4"]
destination: ["C:\\Dropbox\\音楽\\*", "C:\\My Music\\*"]
Windows系の設定ファイルでよく見る形式
- 読み書きが簡単
- Python標準ライブラリに含まれている
- バックスラッシュのエスケープ不要
- 複雑な機能はない
- すべて文字列型
- リストが使えない!
- 仕様が厳格に決まっていない
- Pythonで使うだけならConfigParserの仕様に従えば問題にならなそう
リスト使えない???
# これはコメント行
[C:\Download\paper]
extension=
pdf
doc
destination=
C:\Dropbox\論文\*
C:\My Documents\査読\*
[C:\Download\music]
extension=
mp3
wav
mp4
destination=
C:\Dropbox\音楽\*
C:\My Music\*
同じ構造じゃ無理でした
path =
C:\Download\paper
C:\Download\music
extension =
pdf
doc
destination =
C:\Dropbox\論文\*
C:\My Documents\査読\*
# こういう書き方もできる?
[extension]
mp3
wav
mp4
[destination]
C:\Dropbox\音楽\*
C:\My Music\*
ini風? 仕様: https://github.com/toml-lang/toml#user-content-integer 仕様の和訳: http://qiita.com/minoritea/items/c0de47b8beb813c655d4
- ini風だけど明瞭・高機能
- コメントも書ける
- 仕様が変更される可能性がある(まだ正式版リリースではない)
- Python標準ライブラリに含まれていない
- 難しいところがあるかも
# これはコメント行
['C:\Download\paper']
extension = ['pdf', 'doc']
destination = ['C:\Dropbox\論文\*', 'C:\My Documents\査読\*']
['C:\Download\music']
extension=['mp3', 'wav', 'mp4']
destination=['C:\Dropbox\音楽\*', 'C:\My Music\*']
path = [
'C:\Download\paper',
'C:\Download\music', # 最後のコンマはあってもなくてもOK
]
extension = [
'pdf',
'doc'
]
destination = [
'C:\Dropbox\論文\*',
'C:\My Documents\査読\*'
]
# こういう書き方もできる? 保留!
extension = [
"mp3",
"wav",
"mp4"
]
destination = [
"C:\\Dropbox\\音楽\\*",
"C:\\My Music\\*"
]
これに関しては2021年1月12日に1.0.0がリリースされているので、古い情報になっていますね。
https://github.com/toml-lang/toml/releases/tag/1.0.0