New submission from Peter Marsh:

Hello,

Reasonably frequently I find myself needing to pass a date as a command line 
argument to a Python script I've written. Currently, argparse does not have a 
built support for dates - this adds a new class to argparse (much like the 
existing FileType) that parses arguments to datetime.date instances.

Example:

      >>> parser = argparse.ArgumentParser()
      >>> parser.add_argument('--start', type=argparse.DateType('%d/%m/%Y))
      >>> parser.add_argument('end', type=argparse.DateType())
      >>> parser.parse_args(['--start', '01/02/2015', '2015-01-03'])
      Namespace(end=datetime.date(2015, 1, 3), start=datetime.date(2015, 1, 2))


I think this would be a useful addition to the standard library, a quick Google 
shows that many people roll their own version of this anyway.

Support for datetime.datetime and perhaps even datetime.timedeltas might be 
good too, but date/times get a bit more complicated (timezones in general and 
varying support for the '%z' format string which is required to default to an 
ISO8601 date time).

Cheers,

Pete

----------
components: Library (Lib)
files: argparse_datetype.patch
keywords: patch
messages: 240220
nosy: petedmarsh
priority: normal
severity: normal
status: open
title: New DateType for argparse (like FileType but for dates)
type: enhancement
versions: Python 3.5
Added file: http://bugs.python.org/file38859/argparse_datetype.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue23884>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to