How Do I Tell Argparse To Allow An Argument Only Once?
How do I tell argparse that I want to allow a command line argument only once? import sys import argparse parser = argparse.ArgumentParser() parser.add_argument( '--out',
Solution 1:
Following up on my comment:
import sys
import argparse
# args = sys.argv[1:]
args = "--out 1 --out 2 --out 3".split()
print(f"Input args: {args}")
parser = argparse.ArgumentParser()
parser.add_argument(
"--out",
action="append",
required=True,
)
parsed = vars(parser.parse_args(args))
for key, val in parsed.items():
if isinstance(val, list):
print(f"{key} specified {len(val)} times!")
parsed[key] = val[0] # or val[-1]
print(parsed)
Post a Comment for "How Do I Tell Argparse To Allow An Argument Only Once?"