arguments de ligne de commande Python
arguments de ligne de commande Python
Python fournit le modulegetopt pour obtenir les arguments de ligne de commande.
$ python test.py arg1 arg2 arg3
Python peut également être utilisé dansle sys.argvsys pour obtenir les arguments de ligne de commande:
sys.argv est une liste de paramètres de ligne de commande.
len (sys.argv) est le nombre d'arguments de ligne de commande.
NOTE: sys.argv [0] indique le nom du script.
Exemples
Code de fichier test.py est la suivante:
#!/usr/bin/python # -*- coding: UTF-8 -*- import sys print '参数个数为:', len(sys.argv), '个参数。' print '参数列表:', str(sys.argv)
Mise en œuvre du code ci-dessus, la sortie est:
$ python test.py arg1 arg2 arg3 参数个数为: 4 个参数。 参数列表: ['test.py', 'arg1', 'arg2', 'arg3']
Module getopt
Module getopt est des paramètres de ligne de commande du module de traitement dédié utilisées pour obtenir les options et les paramètres de ligne de commande, est sys.argv. l'option de ligne de commande rend le programme des paramètres plus souples. Soutien à court mode option (-) et options longues Mode (-).
Le module fournit deux méthodes et un gestionnaire d'exception pour analyser les arguments de ligne de commande.
méthode getopt.getopt
méthodes getopt.getopt pour l'analyse syntaxique de la liste des paramètres de ligne de commande est la suivante:
getopt.getopt(args, options[, long_options])
Paramètres de la méthode:
args: pour analyser la liste des arguments de ligne de commande.
Options: pour définir la chaîne de format, les optionsdu côlon après (:) indique que cette option doit avoir les paramètres supplémentaires, sans le côlon indique que cette option est pas de paramètres supplémentaires.
long_options: définir le format de la liste,long_options après le signe égal (=) dit que si cette option est activée, il doit y avoir des paramètres supplémentaires, ou des paramètres supplémentaires non.
Cette méthode retourne une valeur se compose de deux éléments: le premier est la(option, valeur) tuples.La seconde est une liste de paramètres, y compris ceux qui ne le font pas '-' ou '-' paramètre.
Une autre méthode est getopt.gnu_getopt, pas grand chose à faire ici décrit.
getopt.GetoptError Exception
Ne figure pas dans la liste des paramètres ou des options paramètre souhaité déclenche l'exception est vide.
argument Exception est une chaîne qui représente l'erreur. Message d'erreur options liées etoptent pour l'attribut msg.
Exemples
Supposons que nous créons un tel script, vous pouvez passer deux lignes à la commande de nom de fichier de fichier de script, alors que nous utilisons une autre option pour afficher le script. Utilisez le script suivant:
usage: test.py -i <inputfile> -o <outputfile>
Code de fichier test.py est la suivante:
#!/usr/bin/python # -*- coding: UTF-8 -*- 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:])
Mise en œuvre du code ci-dessus, la sortie est:
$ python test.py -h usage: test.py -i <inputfile> -o <outputfile> $ python test.py -i inputfile -o outputfile 输入的文件为: inputfile 输出的文件为: outputfile