Validobj提供有效的对象

validobj的Python项目详细描述


TestsCoveragePyPIConda VersionRTD

Validobj公司

Validobj是一个接受半结构化数据(例如JSON和YAML)的库 配置文件),并将其转换为更结构化的Python对象。它 重点是:

  • Good error messages (而不是避免错误处理中的额外工作 代码)。在
  • 架构定义为 dataclasses和其他 高级对象,例如 enums,以及 typing模块。在
  • 实现的简单性(而不是完全的通用性)。在

Validobj需要python3.7,并且没有其他依赖项。在

文件

https://validobj.readthedocs.io/en/latest/

示例

  1. 使用数据类定义
    importdataclassesimportenumfromtypingimportMapping,Set,Tuple,ListclassDiskPermissions(enum.Flag):READ=enum.auto()WRITE=enum.auto()EXECUTE=enum.auto()classOS(enum.Enum):mac=enum.auto()windows=enum.auto()linux=enum.auto()@dataclasses.dataclassclassJob:name:stros:Set[OS]script_path:strframework_version:Tuple[int,int]=(1,0)disk_permissions:DiskPermissions=DiskPermissions.READ@dataclasses.dataclassclassCIConf:stages:List[Job]global_environment:Mapping[str,str]=dataclasses.field(default_factory=dict)
  2. 使用Validobj处理输入到其中的字典 ^{pr2}$ 在

应用的转换集是described in the documentation

安装

可以使用pip安装该包:

python3 -m pip install validobj

以及使用conda,从conda-forge频道:

conda install validobj -c conda-forge

代码托管在

https://github.com/Zaharid/validobj

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在Spring YAML配置中避开SpEL美元符号?   java Flyway脚本跳过第一个后的第二个Flyway脚本   SwingJava:像JTable一样过滤面板   Java JTabbedPane将订单提升到所选选项卡   java如何水平打印jframe或赋予它打印属性?   java My inflate不显示xml文件,原因是什么?   同步(Singleton.class)和同步(obj)之间的java差异   如何在linux操作系统中使用Java获取服务器时区信息   java抽象方法和重写?   java选择相关对象的前N个元素   java无法计算对象的数量   类L安卓/widget/ImageView中没有字段mMaxWidth   JavaHibernate4.3.0。最终和春季数据JPA 1.4.3。释放