参数处理

paraparser的Python项目详细描述


参数设计是针对参数庞大的大型程序设计的。它 支持整数、浮点、布尔、字符串和枚举(枚举)类型。阵列 支持bool、integer和float。对于枚举类型,自定义 也可以设置值。数据类型受保护。以及装载/卸载 参数/配置可用。

获取实例

您可以获取一个空实例,或者从dict/filename/filehandler加载

params=paraparser.Parameters()params=paraparser.Parameters(paramters_dict)params=paraparser.Parameters(parameter_json)

加载配置/参数

生成参数实例后,可以从dict/文件加载 也。

params.LOAD_CONFIG(config_file)params.LOAD_PARAMETERS(parameters_file)

您可以检查parameters.json.sample&;config.json.sample以了解 参数/配置。

更新/删除键

可以更新/删除钥匙,设置/重置VAL

>>>params.UPDATE_KEY('test_key','int',default=0)>>>params{"test_key":0}>>>params.test_key=1>>>params{"test_key":1}>>>params.test_key1>>>params.REMOVE_KEY('test_key')>>>params.RESET_KEY('test_key')>>>params{"test_key":0}

特殊类型

数组

整数/float/bool数组可以用

>>>params.UPDATE_KEY('test_key','int',isArray=True,length=10,default=0)>>>params{"test_key":"[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]"}>>>params.UPDATE_KEY('test_key','float',isArray=True,length=6,default=0)>>>params{"test_key":"[0.0, 0.0, 0.0, 0.0, 0.0, 0.0]"}

枚举

我们高度改进了枚举类型

>>>params.UPDATE_KEY('test_key','enum',enumItems=['x1','x2','x3'],default='x1')>>>params{"test_key":"x1"}>>>params.test_keykeytest_key:x1enums:['x1','x2','x3']

可以使用枚举自定义枚举值,即 在与旧程序合作时非常有用。

>>>params.UPDATE_KEY('test_key','enum',enumItems=['x1','x2','x3'],enumVals=['-1','2','5'],default='x1')>>>params{"test_key":"x1"}>>>print(params.DUMP_OUTPUT())test_key=-1

类型保护

类型在护栏内受到保护,例如

>>>params.UPDATE_KEY('test_key','enum',enumItems=['x1','x2','x3'],enumVals=['-1','2','5'],default='x1')>>>params{"test_key":"x1"}>>>params.test_key='x22'AssertionError:ParametersErrror:key"test_key"isaenum,items:['x1','x2','x3']

其他类型也一样。

输出

一个漂亮的输出可用于实例或使用打印 功能

>>>print(params){"string":"STRINGSING","int":1,"float":1.1,"enum":"1","floatArray":[2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0],"runType":"geometry_converge","ialgo":"method1"}

您还可以使用dump_config()转储配置,或转储 DimpIsPosits()到标准输出或参数的参数 文件/处理程序

>>>params.DUMP_CONFIG(){'test_key':{'key':'test_key','type':'float','enumItems':None,'enumVals':None,'isArray':True,'length':6,'default':0.0,'comments':'','reference':''}}>>>params.DUMP_PARAMETERS(){'__keys_config':{'test_key':{'key':'test_key','type':'float','enumItems':None,'enumVals':None,'isArray':True,'length':6,'default':0.0,'comments':'','reference':''}},'__keys_values':{'test_key':[0.0,0.0,0.0,0.0,0.0,0.0]}}>>>params.DUMP_CONFIG('config.json')>>>params.DUMP_PARAMETERS('parameters.json')

玩得开心!

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

推荐PyPI第三方库


热门话题
在reducer中迭代自定义可写组件时出现java问题   属性文件中属性的java命名约定   任务链关闭的java Executor服务   java从Eclipse中的字段生成多个构造函数   java通过继承读取Json   java在不知道密钥的情况下解析json   java camel cxf如何在电子邮件中发送soap请求响应   java程序似乎跳过了if语句的一部分,在移回正确位置之前先移到else语句   测试简单的Java加密/解密inputFileName不存在   java从Jenkins REST API获取所有作业的所有构建的构建细节   java基本包装器和静态“类型”类对象   在WebSphere8.5上部署java代码   java对象相等(对象引用“=”)   java MongoDB整型字段到枚举的转换   每次我重新导入gradle时,IntelliJ都会不断重置Java设置   类型使用键或索引从Java中的数据类型检索值   在Java的列表接口中需要listIterator()和iterator()是什么?