Latest web development tutorials

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