【发布时间】:2021-06-01 07:41:26
【问题描述】:
所以基本上我确实坐在我的代码上使用 argparse 框架,但我确实有一个问题,我不知道如何实现。
基本上我有多个函数保存到一个字典中,所以我可以通过键调用它,并且这些函数有多个参数(以及更多参数)
所以所有东西的输入都在我注释掉的代码的最后一行,应该像这样运行:
结果应该是 Key() 的名称和解析为参数的值(VALUE1、VALUE2.......)
#filename: testfiler.py
import argparse
def filterOne(par1):
print(par1)
def filterTwo(par1,par2):
print(par1,par2)
def filterThree(par1,par2,par3):
print(par1,par2,par3)
#.... more functions to come
filters = {
"filterOneKey": filterOne,
"filterTwoKey": filterTwo,
"filterThreeKey": filterThree
}
parser = argparse.ArgumentParser()
parser.add_argument('--filter', choices= (list(filters.keys())))
parser.add_argument('--filteragrument',metavar='Value',nargs='+') #not sure if it is correct
args = parser.parse_args()
filter = args.filter(args.filteragrument) #not sure if it is correct
print(filter) #show key() ✔️, but need to show the parameter which are parsed into filterargument (Value1,Value2....)
#should RUN like this:
#python Tool/testfilter.py --filter filterTwoKey --filterargument Value1=23,Value2=55
【问题讨论】:
标签: python function dictionary parameters argparse