使用Python argparse顺序提供多个参数时检索参数位置
这是我的函数参数原型:使用Python argparse顺序提供多个参数时检索参数位置,python,arguments,argparse,Python,Arguments,Argparse,这是我的函数参数原型: /myfunction.py--poi_类型1 loc1--poi_类型2 loc2--poi_类型1 loc3 为了理解上下文,POI(POI_类型1和2)是不同性质的兴趣点(类型1是花园,类型2是雕像)。作为回报,我想生成一个连接不同POI类型的图(我请求的目的不是背后的业务逻辑)。图形必须考虑POI参数在命令行中的位置,如何构建图形将取决于POI_类型(1或2) 需要注意的是,用户可以提供他想要的任意数量的POI,对于每个POI,他应该判断它是POI类型1还是POI
/myfunction.py--poi_类型1 loc1--poi_类型2 loc2--poi_类型1 loc3
为了理解上下文,POI(POI_类型1和2)是不同性质的兴趣点(类型1是花园,类型2是雕像)。作为回报,我想生成一个连接不同POI类型的图(我请求的目的不是背后的业务逻辑)。图形必须考虑POI参数在命令行中的位置,如何构建图形将取决于POI_类型(1或2)
需要注意的是,用户可以提供他想要的任意数量的POI,对于每个POI,他应该判断它是POI类型1
还是POI类型2
我首先开始收集用户给出的参数如下:
import argparse
parser = argparse.ArgumentParser(description='generate graph', formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument('--poi_type1', nargs=1, action='append', type=check_target)
parser.add_argument('--poi_type2', nargs=1, action='append', type=not_supported)
args = parser.parse_args()
我的问题是,如果用户同时提供poi_type1
和poi_type2
,我不知道参数的提供顺序
例如:
./myfunction.py --poi_type1 loc1 --poi_type2 loc2 --poi_type1 loc3
返回与相同的结果
./myfunction.py --poi_type2 loc1 --poi_type1 loc2 --poi_type1 loc3
我不知道如何调整我的脚本,使其工作,因为我想。。。有什么想法吗?谢谢大家! 直接解析
sys.argv
。用nargs=2定义一个'--poi'。用户将输入'--poi类型1 loc1--poi类型2 loc2--poi类型1 loc3',直接解析sys.argv
。使用nargs=2
定义'--poi'。用户将输入“--poi类型1 loc1--poi类型2 loc2--poi类型1 loc3”,