In Python , come in molte altre lingue , è necessario gestire l'input dell'utente in un programma lanciato dalla riga di comando . La libreria Python " sys" contiene un numero maggiore di sistema specifici parametri, tra cui le funzioni necessarie per gestire gli argomenti da linea di comando . La libreria Python " getopt " fornisce un metodo utile per l'analisi di un gran numero di argomenti della riga di comando e le bandiere in diversi formati. Setup
Aprire un editor di testo e iniziare a scrivere un nuovo documento Python . Formattare il programma come segue . La libreria " sys" contiene le funzioni per la gestione di variabili degli argomenti . Potrai striscia sys.argv [ 0 ] in quanto è il nome dello script , in questo caso " my_program.py . " Il controllo " __name__ " assicura che lo script è stato chiamato dalla riga di comando , piuttosto che un altro programma .
# my_program.pyimport getopt , sys
def main ( argv ) : # argomento parser andrà qui
if __ name__ == " __main__ " : main ( sys [ 1 : ] argv funzione ) economici funzione Usando Getopt
Chiamare il " getopt.getopt ( ) " dal di dentro la tua ricerca: " main () " . utilizzando la seguente sintassi . Per questo esempio , argomenti di " my_program.py " includono un flag " - v" per l' output dettagliato , un "-h " o "- help" bandiera per stampare l'utilizzo , e una "-i" o " - ingresso" per specificare un file di input
def main ( argv ) : . provare : opta , args = getopt.getopt ( argv , "hi : v" , [ "aiuto" , " ingresso " ] ) , tranne: tranne getopt.GetoptError , err : print str ( err) ; # errorusage print (); # User - scritto la funzione per stampare l'utilizzo appropriato di programsys.exit ( 2) ; # impostato defaultsverbose = False ; input_file = Nessuno , per o, una in opta : se o nel ( " - h " , " - help" ) : utilizzo (); sys.exit ( ) elif O == " - v" : verbose = True; Elif o nel ( " -i " , " - ingresso " ) : ; : " . argomento sconosciuto" file_input = un altro asserire Falso , Stati
se ( input_file == None ) : print " . Nessun file di input data " ; utilizzo (); sys.exit ( 2) ;
Utilizzando Argparser
" argparser " biblioteca fornisce un modo simile di parsing argomenti con meno codice e altri messaggi di errore dettagliati
importazione argpase , sys
def main ( ) : . parser = Parser.parse_args = ( ) # codice per verificare la validità delle argomentazioni
Considerazioni
Se si sta preparando il programma Python per la distribuzione , è importante per gestire tutte le possibilità di utilizzo scenari in cui il controllo di argomenti di input . Ad esempio, un nome di file deve essere controllato per determinare se si collega a un file del formato appropriato . Altre variabili devono essere controllati per determinare che il loro valore ha un senso all'interno del programma .