Python argparse-使用日期作为参数并在位置参数中使用默认值时出错

时间:2018-09-05 11:37:02

标签: python-2.7

我正在尝试在argparse中获取格式为'YYYYMMDD'的日期类型。如果未提供,则希望使用当前日期。

这是我的代码,但我得到了

usage:  [optional arguments]
: error: too few arguments

我尝试了位置参数和可选参数。

from datetime import date
class ValidateArgs(argparse.Action):
    def __call__(self, parser, namespace, values, option_string=None):
        if values is None:
            print("value is None")
            setattr(namespace, self.dest, date.today())
        else:
            print("value fine")
            setattr(namespace, self.dest, values)

import argparse
import datetime
parser = argparse.ArgumentParser(description='xxx', usage='%(prog)s [optional arguments]')
parser.add_argument('offset', help='Number of days')
parser.add_argument('fromDte', action=ValidateArgs)
  1. 如何告诉argparser我正在寻找日期类型'datetime.date(2018,9,5)'
  2. 如何使用默认解决? 我作为parser.parse_args('2'.split())调用 我正在使用python 2.7

谢谢。

0 个答案:

没有答案
相关问题