用于自动解析命令行参数的Python库。
argmagiq的Python项目详细描述
阿格玛吉克
argmagiq
是一个Python库,允许自动解析命令行参数。
为此,您只需定义一个配置类,该类包含每个用户定义的属性
参数,让argmagiq
为您解析它们
安装
包argmagiq
可以通过pip安装,如下所示:
pip install git+https://github.com/phohenecker/arg-magiq
如何
步骤1:定义配置类
配置类的每个属性(not属性)都有getter 和setter方法
被认为是一个参数。
请注意,所有参数都被视为选项,即,argmagiq
不生成位置参数,并且
考虑过的属性my_property
被转换为相应的选项--my-property
。
例如,以下代码定义了一个参数--my-property
:
这个代码片段的一个重要细节是getter方法的^{str1}$return type注释,它允许argmagiq
标识用户提供的相应参数和清理值的数据类型。
目前,支持bool
、int
、float
和{typing.Optional[X]
,如果X
是任何受支持的类型,则不允许使用泛型类型别名。
最后,注意getter方法的docstring(如果存在的话)在帮助中作为参数的描述打印出来
申请文本。在
注意:
就像Python的argparse
包,argmagiq
打印自动生成的帮助文本,如果-h
或
^提供了{
步骤2:让argmagiq
解析Args
{1}你定义为一个简单的解析^命令,并将其定义为一个 在这个代码片段中, 注意:
当打印帮助文本时(即,用户提供的 如果参数具有默认值,则必须将其指定为config类的属性。
此类属性的名称必须是相应属性的全大写版本,前缀为 默认情况下,每个没有默认值的参数都被认为是必需的,如果用户不这样做,则会引发错误
指定相同的。
但是,如果要显式地将没有默认值的参数标记为可选,则可以对
根据 作为指定参数的另一种方法,如果应用程序需要很多
用户定义的配置, 在本例中,路径 对于完整的工作示例,请查看
^{ 标签:importargmagiqparsed_config=argmagiq.parse_args(YourConfigClass,app_name,app_description)
app_name
和app_description
是两个定义应用程序名称的字符串,它们
在其概要(帮助开头的用法说明)中使用,以及对其的描述,
显示为帮助文本的一部分。
parse_args
的返回值是YourConfigClass
的一个实例,该实例已用提供的值填充
对应的参数。在-h
或--help
),然后parse_args
返回{默认值
DEFAULT_
。
例如,下面的代码片段为属性my_property
定义了一个默认值(与前面一样,它定义了
参数--my-property
):classYourConfigClass(object):DEFAULT_MY_PROPERTY="blub"...
@argmagiq.optional
的吸气剂方法:@argmagiq.optional@propertydefmy_property(self)->str:...
从JSON文件读取参数
argmagiq
允许将它们作为JSON文件提供,如下所示:$ ./your-app.py -- /path/to/config.json
/path/to/config.json
处的文件指定了应用程序的参数。
请注意,JSON文件必须是使用与
配置类。
例如:{"my_property":"some value",...}
示例
推荐PyPI第三方库