python - 在位置参数中使用日期作为参数和默认值时出错
问题描述
我正在尝试 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)
- 如何告诉 argparser 我正在寻找日期类型 'datetime.date(2018, 9, 5)'
- 如何使用默认解决?我调用为 parser.parse_args('2'.split()) 我正在使用 python 2.7
解决方案
推荐阅读
- erlang - gen_server 可以从两个不同的客户端进程接收消息吗?
- c++ - 为什么我的 .cc 和 .h 可以在我自己的 test.cc 上编译和运行,但不能在 TA 的代码上运行
- python - 我无法访问我创建的电影列表(python)
- sql - 试图找到乘以 DateDiff * 租金天数的语法,然后添加到应付金额列
- c# - 如何获取与经过身份验证的 Azure 服务主体关联的 ObjectID?
- python-3.x - 找不到页面 (404) django.contrib.admin.options.add_view
- sql - MS Access 从宽格式到长格式 新变量 Union ALL
- java - Java Swing:尝试隐藏和显示 JTable 的列不适用于动态宽度
- javascript - 在 React 中使用 @loadable/component 从外部脚本加载函数
- firebase - Firebase 函数调用者角色无法正常工作