【发布时间】:2020-08-06 18:46:14
【问题描述】:
我是使用 Python 2.6 的新手
我正在尝试将日期作为参数传递给 Optargs。
当尝试这样做时: Specify format for input arguments argparse python 我收到此错误:
parser.add_option('-e', '--end', help='end date - format YYYYMMDD', type=valid_date)
File "/usr/lib64/python2.6/optparse.py", line 1012, in add_option
option = self.option_class(*args, **kwargs)
File "/usr/lib64/python2.6/optparse.py", line 577, in __init__
checker(self)
File "/usr/lib64/python2.6/optparse.py", line 660, in _check_type
raise OptionError("invalid option type: %r" % self.type, self)
optparse.OptionError: option -e/--end: invalid option type: <function valid_date at 0x7f310294fde8>
我的程序是这样的:
parser.add_option('-e', '--end', help='end date - format YYYYMMDD', type=valid_date)
(...)
def valid_date(s):
try:
return datetime.datetime.strptime(s, "%Y%m%d")
except ValueError:
print("Not a valid date: '{0}'.".format(s))
你能帮帮我吗?
谢谢!
【问题讨论】:
-
根据您引用的链接,他们使用的是
ArgumentParser。由于optparse已被弃用,您应该使用argparse -
但是对于 python 2.6 使用 optparse 不是更好吗?
标签: python