参数和配置文件的解析器,也允许直接的python输入。
generic-parser的Python项目详细描述
通用分析器
参数和配置文件的解析器,也允许直接的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文件以了解详细信息