参数处理
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')
玩得开心!