parametri della riga di comando python3
parametri della riga di comando python3
Python fornisce modulogetopt ottenere gli argomenti della riga di comando.
$ python test.py arg1 arg2 arg3
Python può essere utilizzatoanche nel sys.argvSYS ottenere gli argomenti della riga di comando:
sys.argv è una lista di parametri della riga di comando.
len (sys.argv) è il numero di argomenti della riga di comando.
NOTA: sys.argv [0] indica il nome dello script.
Esempi
codice del file test.py è il seguente:
#!/usr/bin/python3 import sys print ('参数个数为:', len(sys.argv), '个参数。') print ('参数列表:', str(sys.argv))
L'attuazione del codice di cui sopra, l'output è:
$ python3 test.py arg1 arg2 arg3 参数个数为: 4 个参数。 参数列表: ['test.py', 'arg1', 'arg2', 'arg3']
modulo getopt
modulo getopt è parametri della riga di comando modulo di elaborazione dedicati utilizzati per ottenere le opzioni della riga di comando ei parametri, è sys.argv. l'opzione della riga di comando rende il programma parametri più flessibili. Supportare la modalità opzione breve (-) e le opzioni lunghe modalità (-).
Il modulo fornisce due metodi e un gestore di eccezioni per analizzare gli argomenti della riga di comando.
metodo getopt.getopt
metodi getopt.getopt per l'analisi della riga di comando lista dei parametri sintassi è la seguente:
getopt.getopt(args, options[, long_options])
parametri del metodo:
args: Per analizzare la lista degli argomenti della riga di comando.
opzioni: per definire la stringa di formato, le opzionidi due punti dopo (:) indica che questa opzione deve avere i parametri aggiuntivi, senza i due punti indica che questa opzione non è parametri aggiuntivi.
long_options: definire il formato della lista,long_options dopo il segno uguale (=) ha detto che, se questa opzione è impostata, ci devono essere parametri aggiuntivi, o parametri non aggiuntivi.
Questo metodo restituisce un valore composto da due elementi: il primo è il(opzione, valore) tuple.Il secondo è un elenco di parametri, compresi quelli che non lo fanno '-' o - parametro ''.
Un altro metodo è getopt.gnu_getopt, non c'è molto da fare qui descritto.
eccezione getopt.GetoptError
non si trova nella lista dei parametri o opzioni parametro desiderato scattare l'eccezione è vuoto.
argomento Eccezione è una stringa che rappresenta l'errore. opzioni relative messaggio di errore eoptare per l'attributo msg.
Esempi
Supponiamo di creare uno script, è possibile passare due linee al comando nome file di script, mentre usiamo un'altra opzione per visualizzare lo script. Utilizzare il seguente script:
usage: test.py -i <inputfile> -o <outputfile>
codice del file test.py è il seguente:
#!/usr/bin/python3 import sys, getopt def main(argv): inputfile = '' outputfile = '' try: opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="]) except getopt.GetoptError: print ('test.py -i <inputfile> -o <outputfile>') sys.exit(2) for opt, arg in opts: if opt == '-h': print ('test.py -i <inputfile> -o <outputfile>') sys.exit() elif opt in ("-i", "--ifile"): inputfile = arg elif opt in ("-o", "--ofile"): outputfile = arg print ('输入的文件为:', inputfile) print ('输出的文件为:', outputfile) if __name__ == "__main__": main(sys.argv[1:])
L'attuazione del codice di cui sopra, l'output è:
$ python3 test.py -h usage: test.py -i <inputfile> -o <outputfile> $ python3 test.py -i inputfile -o outputfile 输入的文件为: inputfile 输出的文件为: outputfile