| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Python commandline-config简洁命令行配置工具: 一个供用户以Python Dict或JSON格式编写(科研中实验)配置的库,同时可以从命令行中读取参数 -> 正文阅读 |
|
[Python知识库]Python commandline-config简洁命令行配置工具: 一个供用户以Python Dict或JSON格式编写(科研中实验)配置的库,同时可以从命令行中读取参数 |
本文介绍了一个可以直接用pip安装的python工具包commandline-config,适合经常写python代码跑实验的研究生们,工具可以通过Python原生字典dict(支持嵌套)的形式来写实验的参数配置,同时可以通过命令行传参的方式以及代码直接赋值的方式来修改参数值。同时,工具还有配置拷贝,保存到本地或数据库,传参给函数等功能,以及参数完整性检查,参数值类型检查功能以保证代码或命令行参数不会写错,欢迎有需要的朋友使用。 工具可通过pip install commandline_config直接安装使用。 Github 网址请您Star 简单使用示例图 example.py 则在命令行中,可通过--dataset cifar10来给dataset参数赋值为字符串cifar10:
原来需要用argparse写的很多行的代码,现在使用此工具之后只需两行即可,并且代码结果更加清晰,易于理解: 配置文件支持嵌套,并可通过.的方式访问和修改属性值: 嵌套配置设置 配置文件支持以直接通过print打印,并以表格或json形式呈现: 开发原因 对于经常跑科研实验的朋友们,大家是不是经常需要在python文件开头设置大量的命令行参数,并在下方代码中以args.*的方式调用: 比如下面的这段示例:
每多一个参数,代码中就会多一行parser.add_argument,手写每个参数的配置时会很繁琐,如名称需要加--,还有修改默认值,类型以及描述的时候很麻烦,最后也会导致自己的代码很冗长,维护不便。 就算用了更高级一点的Click,也需要不停的写option, 而且有几个option对应函数就要写几个输入参数与之匹配,写代码实在是繁琐,比如以下Click代码:
我并不想在写代码的时候反复指定option选项,并在函数名参数栏写一大堆对应参数,麻烦的很。 因此,如果可以在代码中通过Python对象/JSON的形式写参数配置,会不会就让代码看得更加结构化,更清晰呢? 同时,能不能直接将命令行参数当做Python对象进行读写,深拷贝等操作,就如同没有配置过命令行参数一样? 能不能很方便的将一次实验的配置保存到本地文件或者插入如mongodb这样的数据库中? 另一个问题,能不能保证自己在传递命令行参数或者在python代码中修改键值的时候不会出现如参数名称写错,或者赋值的参数值的类型与初始设置类型不匹配的问题? 最重要的是,能不能让写代码的速度变的很快,而不需要一行一行的添加一点一点的配置呢? 为了解决以上痛点,因此开发了此工具。 我的目标是让大家用更加简单的写出和繁琐的argparse或click这类命令行解析包一样的效果的代码,同时让配置看起来结构化简洁化,选择json格式是因为Python字典类型dict原生就是json格式,所以可以做到和Python代码格式保持一致,从而使我们可以将配置信息直接嵌入到Python代码文件中(任意位置),而不需要建立类似toml这样单独的配置文件,同时,此库也可以在代码文件的任意位置写配置以读取命令行参数以及随时修改配置各字段值的功能等。 简洁命令行配置工具 具体安装和使用方式,请参考github中文文档: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 9:18:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |