如何在解析器参数之间添加条件?

时间:2018-11-30 11:07:49

标签: python argparse

我有2个参数start_dateend_date,我想确保用户以dd-mm-yyyy格式给出他们想要的日期的字符串,并且start_date是一个end_date之前的日期,我已经制作了一个函数来检查日期确实是一个日期,但无法弄清楚如何比较这两个参数。

def valid_date(s):
    try:
        return datetime.datetime.strptime(s, "%d-%m-%Y")
    except ValueError:
        msg = "Not a valid date: '{0}'.".format(s)
        raise argparse.ArgumentTypeError(msg)


parser.add_argument(
    type=valid_date,
)

1 个答案:

答案 0 :(得分:1)

  

您可以使用Moment库来执行此操作。如果您要使用时间和日期来计算更复杂的事物,那么不要使用原始的/自写的代码,而不要使用矩型库。   可以用来播放日期和时间的库   https://pypi.org/project/moment/0.0.14/