Python ont une argc argument?
J'ai écrit le même programme (ouvrir un fichier texte et contenu de l'affichage) en C et C++. Maintenant, fais la même chose en Python (sur une machine Linux).
Dans les programmes en C, j'ai utilisé le code:
if (argc != 2) {
/* exit program */
}
Question: Ce qui est utilisé en Python pour vérifier le nombre d'arguments
#!/usr/bin/python
import sys
try:
in_file = open(sys.argv[1], "r")
except:
sys.exit("ERROR. Did you make a mistake in the spelling")
text = in_file.read()
print text
in_file.close()
Courant de sortie:
./python names.txt = Displays text file (correct)
./python nam = error message: stated from the sys.ext line (correct)
./python = error message: stated from the sys.ext line (wrong: want it to be a
separate error message stating *no file name input*)
- Double Possible de python et sys.argv
Vous devez vous connecter pour publier un commentaire.
En python une liste sait de sa longueur, de sorte que vous pouvez juste faire
len(sys.argv)
pour obtenir le nombre d'éléments dansargv
.J'utilise souvent un quick-n-sale truc pour lire un nombre fixe d'arguments de la ligne de commande:
Cela va affecter l'un argument pour
filename
et lever une exception si il n'est pas exactement un argument.Vous êtes mieux de regarder argparse pour l'argument de l'analyse.
http://docs.python.org/dev/library/argparse.html
Juste, il est facile, pas besoin de faire le gros du travail vous-même.
dir(sys)
dit non.len(sys.argv)
œuvres, mais en Python, il vaut mieux demander pardon que demander la permission, doncfonctionne très bien et est plus courte.
Si vous allez jusqu'à la sortie de toute façon, ce serait mieux:
Je suis en utilisant
print()
de sorte qu'il fonctionne dans de 2,7 ainsi que Python 3.