参数和配置文件的解析器,也允许直接的python输入。

generic-parser的Python项目详细描述


通用分析器

Travis (.com)Code Climate coverageCode Climate maintainability (percentage)GitHub last commitGitHub release

参数和配置文件的解析器,也允许直接的python输入。

开始

安装

通过pip可以轻松完成安装。然后将包用作generic_parser

pip install generic-parser

示例用法:

含量myscript.py

fromgeneric_parserimportentrypoint,EntryPointParametersdefget_arguments():args=EntryPointParameters()args.add_parameter(name="first",flags=["-f","--first"],help="First Parameter, an int",choices=[1,2,3],type=int,required=True,)args.add_parameter(name="second",flags=["-s","--second"],help="Second Parameter, a string",type=str,default="default",required=False,)returnargs@entrypoint(get_arguments())defmain(opt,unknown):print(opt.first==1)print(opt.second=="default")if__name__=='__main__':main()

命令行

python myscript.py -f 1 -s "test"调用该脚本将导致

True
False

假设这是函数的标准操作模式。

配置文件

此外,还可以使用配置文件config.ini,其中包含:

[Section]
first = 2
second = "Hello"

并运行脚本,使python myscript.py --entry_cfg config.ini指向

False
False

如果您想用相同或相似的参数重新运行代码,那么配置文件非常有用。 特别是声明一个[DEFAULT]节可能会有帮助。 有关配置文件的更多信息,请检查python Config Parser

Python

或者直接从python代码调用函数

if__name__=='__main__':main(first=1,second="World")
True
False

如果要围绕入口点函数编写python包装器,这是非常有用的, 也不想求助于python的命令行调用。

注意,在这种情况下,所有变量都经过验证,这是由dict_parser提供的。 dict_parser甚至提供了多级字典检查功能, 它不在Entrypoint中使用,但可以在其他用例中使用

说明

这个包为参数和配置文件提供了一个全面的解析器。 参数的创建类似于argparse中的参数,但是输入 然后可以是来自命令行、配置文件或直接来自python。

有关详细说明,请检查the documentation

作者

许可证

这个项目是根据麻省理工学院的许可证授权的-请参见LICENSE.md文件以了解详细信息

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

推荐PyPI第三方库


热门话题
JavaSpringMVC控制器测试打印结果JSON字符串   若catch语句返回,那个么为什么它最终会阻塞呢?   java Grails中servletContext在哪里可用?   java Jhipster:如何为现有项目启用多种语言   java异常评估SpringEL表达式:“#fields.hasErrors('something')”   java如何验证SeleniumWebDriver中的文本颜色?   java在绘图时使用JPanel坐标   java如何初始化spring启动到project?   java如何通过JDBC的PreparedStatement将UUID数组插入HyperSQL数据库   java修改JVM以跨线程序列化文件访问   Javascript到Java正则表达式   使用Java运行时调用aspell程序时出现字符集问题。getRuntime()。执行官   执行RDP时的java Sukuli按钮识别   java如何使用okhttp更改connect请求的标头   java无法创建Maven Eclipse项目