Python 使用-argparse指定参数时运行特定函数
大家好,所以我读了所有“类似”的帖子,并没有找到一个明确的答案。将参数映射到我定义的特定函数的最简单方法是什么Python 使用-argparse指定参数时运行特定函数,python,python-3.x,arguments,argparse,Python,Python 3.x,Arguments,Argparse,大家好,所以我读了所有“类似”的帖子,并没有找到一个明确的答案。将参数映射到我定义的特定函数的最简单方法是什么 parser = argparse.ArgumentParser(" ") parser.add_argument("-u", "--url") parser.add_argument("-i", "--ip") parser.add_argument("-a", "--action") args = parser.parse_args() def func1(ip): d
parser = argparse.ArgumentParser(" ")
parser.add_argument("-u", "--url")
parser.add_argument("-i", "--ip")
parser.add_argument("-a", "--action")
args = parser.parse_args()
def func1(ip):
do something
func1(ip)
def func2(url):
do something
func1(url)
def func3(action):
do something
func1(action)
我的函数与参数一起正常工作,但是如果使用-u标志,我不希望说func2&func3运行,或者我只希望func3在使用-a时运行。用外行的话说,这可能吗?其他答案一点也不清楚
谢谢 您可以使用
args.\u get\u kwargs()
函数查看如下值和参数
import argparse
parser = argparse.ArgumentParser(" ")
parser.add_argument("-u", "--url")
parser.add_argument("-i", "--ip")
parser.add_argument("-a", "--action")
args = parser.parse_args()
arg_dict = dict(args._get_kwargs())
def func1(ip):
do something
def func2(url):
do something
def func3(action):
do something
arg_func_dict = {'ip': func1, 'url': func2, 'action': func3}
for arg, value in arg_dict.items():
if value != None:
arg_func_dict[arg](value)
您可以使用
args.\u get\u kwargs()
函数查看如下值和参数
import argparse
parser = argparse.ArgumentParser(" ")
parser.add_argument("-u", "--url")
parser.add_argument("-i", "--ip")
parser.add_argument("-a", "--action")
args = parser.parse_args()
arg_dict = dict(args._get_kwargs())
def func1(ip):
do something
def func2(url):
do something
def func3(action):
do something
arg_func_dict = {'ip': func1, 'url': func2, 'action': func3}
for arg, value in arg_dict.items():
if value != None:
arg_func_dict[arg](value)
对于其他arg,也是如此。希望你明白我的意思
对于其他arg,也是如此。希望您能理解。
args.url
如果未提供该参数,则将为None
,否则为用户提供的字符串。在代码中添加print(args)
语句,以便更清楚地了解解析器的作用。args.url
如果未提供该参数,则为None
,否则为用户提供的字符串。在代码中添加一个print(args)
语句,以更清楚地了解解析器的功能。简短、简单、准确。非常感谢。简短、简单、准确。非常感谢。