Examples
parser = argparse.ArgumentParser(
prog='sl',
description='show last files in dir (defaults to Downloads)')
parser.add_argument('-n','--number',type=int)
parser.add_argument('-d','--dir')
parser = argparse.ArgumentParser(
prog='regexcut',
description='cut by regex')
parser.add_argument('-q','--ignore_missing_fields',action='store_true')
parser.add_argument('-F','--raw_delimiter',action='store_true')
parser.add_argument('-D','--output_delimiter',type=str)
parser.add_argument('-d','--delimiter',type=str, default=" ")
parser.add_argument('rest',nargs="*")
ns = parser.parse_args()
parser.add_arugment('-o','--optional',required=False)
parser.add_argument('-O','--option',action="append")
Metavar
parser.add_argument('-d','--delimiter',type=str, default=" ",metavar="DELIM")
The --help infers the metavar from the long option name (e.g. DELIMITER)
unless overridden by the metavar='WHAT' option.
Custom Argument Types
import argparse
class StoreCommaSeparatedIntegers(argparse.Action):
def __call__(self, parser, namespace, values, option_string=None):
# Convert comma-separated values into a list of integers
int_list = list(map(int, values.split(',')))
setattr(namespace, self.dest, int_list)
parser = argparse.ArgumentParser()
parser.add_argument("--numbers", action=StoreCommaSeparatedIntegers, help="Comma-separated list of integers")
args = parser.parse_args()
print(args.numbers)