Python 3 tomlプロファイル(UTF-8/UTF-8-BOM)を読み込む
突っ込む
まず他のいくつかのプロファイルにツッコミを入れます. ini:表現能力が足りない、例えばリストを表現できないなどの構造;公式コメント記号はありませんが、一般的にはセミコロンをコメント記号として使用します. json:公式注釈記号はありませんが、一部のサードパーティパケットは注釈構造を提供しています. yaml:文法が複雑で、可読性があまり高くありません.
tomlの概要
TOMLは、2013年に創設された元GitHub CEO、トムPreston-Wernerの言語で、小規模で使いやすい意味化されたプロファイルフォーマットを目指しています.TOMLは,ハッシュテーブル(Hash table)に無意味に変換できるように設計した.公式中国語ドキュメント walkerの下で使用するサードパーティ製解析パッケージは、次のとおりです.https://pypi.org/project/toml/
config.toml
t.py
cmd
本文はwalker snapshotから
まず他のいくつかのプロファイルにツッコミを入れます.
tomlの概要
TOMLは、2013年に創設された元GitHub CEO、トムPreston-Wernerの言語で、小規模で使いやすい意味化されたプロファイルフォーマットを目指しています.TOMLは,ハッシュテーブル(Hash table)に無意味に変換できるように設計した.
config.toml
#
SrcRoot = 'D:\test\input'
#
DstRoot = 'D:\test\output'
t.py
#encoding: utf-8
#author: walker
#date: 2018-12-11
#summary: UTF-8/UTF-8-BOM toml
import os
import sys
import toml
SrcRoot = r''
DstRoot = r''
def ReadConfig():
r""" """
global SrcRoot, DstRoot
cfgFile = 'config.toml'
if not os.path.exists(cfgFile):
input(cfgFile + ' not found')
sys.exit(-1)
with open(cfgFile, mode='rb') as f:
content = f.read()
if content.startswith(b'\xef\xbb\xbf'): # utf8 bom
content = content[3:]
dic = toml.loads(content.decode('utf8'))
SrcRoot = dic['SrcRoot'].strip()
if not os.path.exists(SrcRoot):
print('Error: not exists %s' % SrcRoot)
sys.exit(-1)
print('SrcRoot: %s' % SrcRoot)
DstRoot = dic['DstRoot'].strip()
if not os.path.exists(DstRoot):
print('Error: not exists %s' % DstRoot)
sys.exit(-1)
print('DstRoot: %s' % DstRoot)
print('Read config.toml successed!')
if __name__ == '__main__':
ReadConfig()
cmd
D:\Python3Project\test>python3 t.py
SrcRoot: D:\test\input
DstRoot: D:\test\output
Read config.toml successed!
本文はwalker snapshotから