参数处理

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第三方库


热门话题
java在Android Studio中使用while循环显示包含textview对象的数据   创建名为“userController”的bean时发生java错误:通过字段“userService”表示未满足的依赖关系   java PDFBox PDFImageWrite。writeImage未正确处理所有字符   java无法识别代码中的nzec错误   无法更改java TabLayout字体   在Java中使用子字符串删除部分字符串   Java中的listener addPropertyChangeListener方法   java可以同时拖动多个对象   java如何将数组中的值添加到向量中   java为什么在Camel 3.7.3中无法正确计算属性?   与后端问题不同的机器中的java客户端资源   带字符串的java分割字节数组?   java On_选项_项目_选择的方法说明   java如何在画布的父画中画一个圆?   连接超时和打开连接数的java Netty通道配置   java mysql中如何防止向数据库中插入重复数据   升级到macOS Big Sur后,java无法启动Neo4j控制台应用程序   在Java中使用XSLT将XML转换为HTMLString的ajax   java无法使用Apache POI获取Excel工作表中的数据