En Python , comme dans beaucoup d'autres langues , il nécessaire de gérer les entrées de l'utilisateur à un programme lancé depuis la ligne de commande . La bibliothèque Python "sys" contient un grand nombre de système paramètres spécifiques , y compris les fonctions nécessaires pour traiter les arguments de la ligne de commande. La bibliothèque Python " getopt » fournit une méthode utile pour l'analyse d'un grand nombre d'arguments et de drapeaux de ligne de commande dans différents formats. Configuration
Ouvrez un éditeur de texte et commencer à écrire un nouveau document Python. Formater le programme comme suit . La bibliothèque "sys" contient des fonctions pour manipuler des variables d' arguments. Vous dépouiller sys.argv [0] car c'est le nom du script , dans ce cas " my_program.py . " Le cocher " __name__ " assure que le script a été appelé depuis la ligne de commande, plutôt que d' un autre programme .
# my_program.pyimport getopt , sys
def main (argv ) : # analyseur de Argument ira ici
if __ name__ == " __main__ " : main (sys argv [ 1:] fonction )
aide Getopt
Appelez le " getopt.getopt ()" fonction au sein de votre
" main () " . en utilisant la syntaxe suivante . Pour cet exemple , les arguments des " my_program.py " comprennent un drapeau "-v " pour la sortie verbeuse , un "-h" ou "- help" drapeau pour imprimer l'usage, et un " -i" ou "- entrée " pour spécifier un fichier d'entrée
def main (argv ) : . essayer : opte , args = getopt.getopt (argv , " salut : v", [ "aide" , "input" ] ) ; exception : sauf getopt.GetoptError , err: print str (err ) ; # errorusage de print () ; # écrit par l'utilisateur fonction permet d'imprimer une utilisation appropriée de programsys.exit (2); # set defaultsverbose = False ; fichier_entrée = None , car o , un dans opte : si o in ( "-h" , "- help" ) : usage () ; sys.exit (); Elif o == " -v" : verbose = True; Elif o ( " -i ", " - Entrée " ) : ; : " . Argument inconnu " fichier_entrée = un autre assert false , AB
if ( fichier_entrée == None ) : print " . Aucun fichier d'entrée donné »; usage () ; sys.exit (2);
aide ArgParser
" ArgParser «bibliothèque fournit un moyen similaire de l'analyse des arguments avec moins de code et des messages d'erreur verbeux
importation argpase , sys
def main () : . parser = = Parser.parse_args () Code # pour vérifier la validité des arguments
Considérations
Si vous préparez votre programme Python pour la distribution, il est important de gérer tout usage possible scénarios lors de la vérification des arguments d'entrée . Par exemple, un nom de fichier doit être vérifiée afin de déterminer si le relie à un fichier de format approprié. D'autres variables doivent être vérifiés afin de déterminer si leur valeur a un sens dans le programme.