我正在使用ArgParse在Python中提供命令行参数。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--quality", help="enter some quality limit")
args = parser.parse_args()
print "You gave quality = %s" % str(args.quality)
def is_number(s):
try:
val = int(s)
except ValueError:
print "That is not an int!"
is_number(args.quality)
我将其保存为a.py,然后运行了此命令:
$python a.py --quality 10
You gave quality = 10
如果我们输入一些字符而不是数字,我想在函数“ quality is not int”内的打印语句中打印出参数名称“ quality”。如何提取参数名称并在其中使用。我还有更多命令行参数,所以我想要一个显式错误,指出哪个参数不是整数。
最佳答案
一种方法是重写is_number
以将参数名称作为字符串。
def is_number(args, argname):
try:
int(getattr(args, argname))
except ValueError:
print argname, "is not an integer"
is_number(args, "quality")
但是Ben建议使用
argparse
的type
参数更好。关于python - 提取函数中命令行参数的名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24209378/