How do I parse a date as an argument with argparse?
argparse, command-line, date, python
Solution
There's lots of documentation in the standard library, but generally, something like:
import argparse
import datetime
parser = argparse.ArgumentParser()
parser.add_argument(
'date',
type=lambda s: datetime.datetime.strptime(s, '%Y-%m-%d'),
)
# For testing. Pass no arguments in production
args = parser.parse_args(['2012-01-12'])
print(args.date) # prints datetime.datetime object
Problem
Im trying to write a python program that I will run at the command line. I'd like the program to take a single input variable. Specifically, I would use a date in the form of 2014-01-28 (yyyy-mm-dd): e.g. `python my_script.py 2014-01-28` It seems argparse might be able to help me but I have found very little documentation regarding the module. Does anyone have experience with something like this?