Comment puis-je avoir un script Python qui a) peut accepter l'entrée de l'utilisateur et comment puis-je faire en sorte qu'il b) lise les arguments s'il est exécuté à partir de la ligne de commande ?
Pour lire les entrées de l'utilisateur, vous pouvez essayer [le module cmd
][1] pour créer facilement un mini interpréteur de ligne de commande (avec textes d'aide et autocomplétion) et [raw_input
][2] ([input
][3] pour Python 3+) pour lire une ligne de texte de l'utilisateur.
text = raw_input("prompt") # Python 2
text = input("prompt") # Python 3
Les entrées de la ligne de commande sont dans sys.argv
. Essayez ceci dans votre script :
import sys
print (sys.argv)
Il y a deux modules pour analyser les options de la ligne de commande : [][4] (déprécié depuis Python 2.7, utilisez plutôt [optparse
argparse
][5]) et [getopt
][6]. Si vous voulez simplement entrer des fichiers dans votre script, admirez la puissance de [fileinput
][7].
La [référence de la bibliothèque Python][8] est votre amie.
[1] : https://docs.python.org/dev/library/cmd.html [2] : https://docs.python.org/2/library/functions.html#raw_input [3] : https://docs.python.org/dev/library/functions.html#input [4] : https://docs.python.org/dev/library/optparse.html [5] : https://docs.python.org/dev/library/argparse.html [6] : https://docs.python.org/dev/library/getopt.html [7] : https://docs.python.org/dev/library/fileinput.html [8] : https://docs.python.org/dev/library/
La meilleure façon de traiter les arguments de la ligne de commande est le module [argparse
][1].
Utilisez raw_input()
pour obtenir l'entrée de l'utilisateur. Si vous importez le module [readline
][2], vos utilisateurs pourront éditer les lignes et avoir un historique.
[1] : https://docs.python.org/library/argparse.html [2] : https://docs.python.org/library/readline.html