要添加带有argparse对象的logique的yaml文件。

argparse-graph的Python项目详细描述


AGRParseGraph

摘要

说明

使用argpargraph在argpars对象中添加逻辑。
这个包可以帮助您避免在使用argparse

安装

安装程序包:

pip install argparse-graph

卸载程序包:

pip uninstall argparse-graph

手动:

安装软件包:

make install

卸载程序包:

make uninstall

使用它

The parameter defined with argparse must be named (dest="argsName")if not, it will
be impossible to find some link between the variable name and the name in the yaml file.

argparse对象示例:

python脚本

fromargparseGraph.argparseGraphimportargparseGraphasaggdefparsarg():parser=argparse.ArgumentParser(description="random options for differents cenarios")parser.add_argument("-q",dest="argv1",help="test",type=int)parser.add_argument("-w",dest="argv2",help="test",type=int,action='append')parser.add_argument("-e",dest="argv3",help="test",type=str,default="test3")parser.add_argument("-t",dest="argv4",help="test",type=str,default=False)parser.add_argument("-a",dest="argv5",help="test",type=str)parser.add_argument("-s",dest="argv6",help="test",type=bool)parser.add_argument("-d",dest="argv7",help="test",type=str,action='append')args=parser.parse_args()returnargsres=parsarg()agg=agg("scenarios.yml",res_args,verbose=False)

scenario.yml

# if all parameters are not None# cmd: ./main.py -q 1 -w 1 -w 2 -e t -t o -a o -s t -d "Hello"  -d "World"scenario_1:options:"all"# if argv3, argv4 are not None and other are None# format list [v1, v2]# cmd: ./main.py -e toto -t okscenario_2:options:[argv3,argv4]# if argv3, argv4, argv5, argv6, argv7 are not None and other are None# format list     #    - argv3#    - argv4#    - argv5#    - argv6#    - argv7# cmd: ./main.py -e toto -t ok -a ok -s True -d "Hello"  -d "World"scenario_3:options:-argv3-argv4-argv5-argv6-argv7# if argv3, argv4, argv6, argv7 are not None and other are None# format str argv3, argv4, argv6, argv7# cmd: ./main.py -s False -t True -d "Test"scenario_4:options:argv3, argv4, argv6, argv7

使用argparseGraph对象可以得到3种不同的结果格式, 使用这些方法:

# Return the name of the strategie in the yaml file.agg.get_one()# example:# 'scenario_test'# Return a dictagg.get_dict()# { 'scenario': 'scenario_test', 'options': ['argv3', 'argv4', 'argv5', 'argv6', 'argv7'], 'status': None}agg.get_all()# {#  'scenario_1': {'options': 'all', 'name': 'scenario_1', 'status': 'Fail'},#  'scenario_2': {'options': ['argv3', 'argv4'], 'name': 'scenario_2', 'status': 'Fail'},#  'scenario_3': {'options': ['argv3', 'argv4'], 'name': 'scenario_3', 'status': 'Fail'},#  'scenario_4': {'options': ['argv3', 'argv4', 'argv6', 'argv7'], 'name': 'scenario_4', 'status': 'Fail'},#  'scenario_test': {'options': ['argv3', 'argv4', 'argv5', 'argv6', 'argv7'], 'name': 'scenario_test', 'status': None},#  'scenario_5': {'options': '', 'name': 'scenario_5', 'status': 'Fail'}# }

测试

有两种测试可用,第一种是在项目目录中的源上运行, 第二个运行在系统上的软件包安装上。

对未安装的包运行测试:

make test

对安装的软件包运行测试:

make test_install

文件

makefile命令可用

Commands nameDescription
^{}install ^{}
^{}uninstall ^{}
^{}run test on sources not installed
^{}run test on the package installed
^{}run example
^{}run example with a specifique scenarios

您可以指定makefile选项:

Define nameDefaultDescription
^{}pytestTools to run tests
^{}python3Use Python to run tests and install package

credit idea gael rottier

引用

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

推荐PyPI第三方库


热门话题
java如何使用文件路径获取文件位置?   java XPath从某个元素后的元素获取文本   具有多个名称空间的JavaDOM   使用hibernate在表别名处出现java意外令牌错误   springdatajpa中的java交叉连接   在firebase中循环时使用java空指针   如何使用java驱动程序执行mongodb getShardDistribution()   swing Java GUI在另一个方法的新窗口中显示文本   java如何使用Google Guava为每个新地图条目设置不同的过期超时?   在视图寻呼机中将数据从活动传递到片段时,找不到id片段的java视图   Java 8 Lambda流筛选器更改值   java为什么在程序中不使用main方法时Eclipse不会显示错误。   java JavaFX文件选择器显示自定义选项   swing Java程序在MAC上未正确运行   java使用Twitter4j发布twitter线程   JMS请求访问被拒绝后,java jedis无法连接到redis   java GETSTATE weblogic命令花费的时间太长,有什么建议吗?   java如何将此代码转换为Racket/Scheme   java如何使用经度和纬度获取地址   java是我的Glassfish设置泄漏内存吗?