根据文档:
的type
关键字参数add_argument()
允许执行任何必要的类型检查和类型转换…type=
可以接受带有单个字符串参数并返回转换后值的任何可调用对象
您可以执行以下操作:
def valid_date(s):
try:
return datetime.strptime(s, "%Y-%m-%d")
except ValueError:
msg = "Not a valid date: '{0}'.".format(s)
raise argparse.ArgumentTypeError(msg)
然后将其用作type
:
parser.add_argument("-s",
"--startdate",
help="The Start Date - format YYYY-MM-DD",
required=True,
type=valid_date)