Skip to content

Instantly share code, notes, and snippets.

@nloadholtes
Created September 15, 2017 21:23
Show Gist options
  • Save nloadholtes/472152456270a9b31768ef8554b30b78 to your computer and use it in GitHub Desktop.
Save nloadholtes/472152456270a9b31768ef8554b30b78 to your computer and use it in GitHub Desktop.
How to get argparse to use dashes in positional arguments
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("table_name", metavar="table-name", help="blah", default=None)
parser.add_argument("--start-ts", help="blah2", default=None)
settings = parser.parse_args()
import pdb; pdb.set_trace()
print("goodbye")
@pjaol
Copy link

pjaol commented Feb 3, 2022

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("table_name", metavar="table-name", help="blah", default=None)
parser.add_argument("--start-ts", help="blah2", default=None)
settings = parser.parse_args()
print(settings)

The output is:

python fff.py wobble  --start-ts 1234
Namespace(start_ts='1234', table_name='wobble')

Argparse turns argument names with hyphens into underscores as in --start-ts => start_ts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment