一个小巧但实用的包,用于加载、验证和使用类型化数据结构,包括配置文件。
项目描述
datastruct
一个小巧但实用的包,用于加载、验证和使用类型化数据结构,包括配置文件。
您将获得
一种轻松定义类型化分层数据结构的方法。
无需烦恼地定义嵌套结构。
从多种格式(json、yaml和Serialize支持的任何格式)中加载,
错误检查包括:缺失值、意外值、错误的类型、错误的值。
易于集成到其他应用程序的错误报告。
安装
pip install datastruct
用法
>>> from typing import List
>>> from datastruct import DataStruct
>>> class EmailServer(DataStruct):
...
... host: str
... port: int
... username: str
... password: str
>>>
>>> class Config(DataStruct):
...
... download_path: str
... email_servers: List[EmailServer]
... wait_time: float
>>>
>>> cfg = Config.from_filename('settings.yaml')
当发现无效值时,将引发异常。
如果您想累积所有错误以进行检查
>>> cfg = Config.from_filename('settings.yaml', raise_on_error=False)
>>> print(cfg.get_errors())
然后您可以在代码中使用DataStruct对象
>>> print(cfg.email_servers[0].host)
其他功能
您可以轻松指定默认值,
>>> class EmailServer(DataStruct):
...
... host: str
... port: int = 25
... username: str
... password: str
有关维护者列表,请参阅AUTHORS
要查看每个版本的项目的重要变更的有序列表,请参阅CHANGES
项目详情
关闭
datastruct-0.5.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 85153b97cb1579dfbae627ab3294cd873e9501fa614d74eb045db1ce141438ea |
|
MD5 | 4b20936867b1916590fceacd4c92d69e |
|
BLAKE2b-256 | 03c9aff0d56492f52112ccb1e2295c9f5863b35ff1bab35b11fe7eb04f20a410 |