Attualmente sto creando un programma di lettura directory usando Python. Sto usando 'argparse' per analizzare gli argomenti dalla riga di comando. Ho il seguente codice:Spostare "help" in un diverso gruppo di argomenti in python argparse
parser = argparse.ArgumentParser(prog = "LS.py",
usage = "%(prog)s [options] [path1 [path2 [...pathN]]]\nThe paths are optional; if not given . is used.")
group = parser.add_argument_group("Options")
group.add_argument("-path", default = ".", help = argparse.SUPPRESS, metavar = "")
group.add_argument("-m", "--modified", default = False,
help = "show last modified date/time [default: off]",
metavar = "")
group.add_argument("-o ORDER", "--order=ORDER", nargs = 2, default = "name",
help = "order by ('name', 'n', 'modified', 'm', 'size', 's')\n[default: name]",
metavar = "")
group.add_argument("-r", "--recursive", default = False,
help = "recurse into subdirectories [default: off]",
metavar = "")
group.add_argument("-s", "--sizes", default = False,
help = "show sizes [default: off]", metavar = "")
args = parser.parse_args()
return args
quando viene chiamato nel seguente modo "LS.py -h" produce il seguente output:
usage: LS.py [options] [path1 [path2 [...pathN]]]
The paths are optional; if not given . is used.
optional arguments:
-h, --help show this help message and exit
Options:
-m , --modified show last modified date/time [default: off]
-o ORDER , --order=ORDER
order by ('name', 'n', 'modified', 'm', 'size', 's')
[default: name]
-r , --recursive recurse into subdirectories [default: off]
-s , --sizes show sizes [default: off]
La mia domanda: C'è un modo per spostare il default aiuto argomento in un gruppo come Opzioni? Inoltre, non riesco a trovare un modo per rimuovere lo spazio prima delle virgole negli argomenti delle Opzioni. L'output ideale è:
Usage: ls.py [options] [path1 [path2 [...pathN]]]
The paths are optional; if not given . is used.
Options:
-h, --help show this help message and exit
-m, --modified show last modified date/time [default: off]
-o ORDER, --order=ORDER
order by ('name', 'n', 'modified', 'm', 'size', 's')
[default: name]
-r, --recursive recurse into subdirectories [default: off]
-s, --sizes show sizes [default: off]
È ancora più semplice se si utilizza 'action =" help "' invece di 'action =" store_true "' – mgilson
Derp, devo averlo perso mentre si sfogliava i documenti di azione. Grazie! – nneonneo
Questo ha risposto a tutte le mie domande, grazie mille. Ho cercato per un po 'la documentazione e non riuscivo a trovarlo. –