[英]Extract names of Command line parameter in a function
我正在使用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
參數更好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.