Comment puis-je exécuter un script Python à l'aide des arguments en ligne de commande de windows
C'est mon python hello.py
script:
def hello(a,b):
print "hello and that's your sum:"
sum=a+b
print sum
import sys
if __name__ == "__main__":
hello(sys.argv[2])
Le problème est qu'il ne peut pas être exécuté à partir de la windows invite de ligne de commande, j'ai utilisé cette commande:
C:\Python27>hello 1 1
Mais il ne fonctionne pas, malheureusement, quelqu'un peut s'il vous plaît aider?
Veuillez utiliser la bonne mise en forme du code
Si "hello.py" est dans un
Si "hello.py" est dans un
PATH
répertoire, et en cours d'exécution hello 1 1
ne passe pas les arguments de ligne de commande, puis l' .py association de fichier est cassé. Si CMD ou PowerShell ne pas trouver "hello.py" puis .PY n'est pas dans PATHEXT
. Vous ne devez pas exécuter python hello.py 1 1
. C'est gênant car il nécessite l'utilisation d'un chemin d'accès qualifié pour hello.py ou la modification de son répertoire.OriginalL'auteur user2563817 | 2013-07-09
Vous devez vous connecter pour publier un commentaire.
import sys
de bonjour la fonction.'
doivent être échappés ou qui devrait l'être surrouned par"
.python hello.py <some-number> <some-number>
en ligne de commande?import
pas dans le haut niveau - il n'est pas recommandé. Il devrait être placé avantdef hello
Merci pour les conseils. J'ai changé le code.
À l'aide de
print
sans parenthèses n'est pas conseillé en Python 2.7. Vous devriez viser pour la compatibilité avec Python 3 😉imprime
('a', 'b')
en Python 2.x, contrairement à Python 3.x qui imprimera b
. (sauf si vous utilisezfrom __future__ import print_function
en Python 2.x)Il n'est pas difficile de trouver un moyen de le faire fonctionner pour les deux. E. g.
print("hello and that's your sum: " + str(a + b))
OriginalL'auteur falsetru
Pour l'exécution de votre programme à partir de la ligne de commande, vous devez appeler l'interpréteur python, comme ceci :
Si vous code réside dans un autre répertoire, vous devrez définir le python binaire chemin dans votre variable d'environnement PATH, pour être en mesure de l'exécuter, trop. Vous pouvez trouver des instructions détaillées ici.
merci beaucoup, j'ai aussi utilisé de cette façon,j'ai défini les variables d'environnement(PATH,le chemin et la pathext),sans succès
Assurez-vous de fermer et de rouvrir la console que vous utilisez lorsque vous effectuez un changement de VOIE.
OriginalL'auteur thibauts
Votre indentation est cassé. Cela devrait corriger le problème:
Évidemment, si vous mettez le
if __name__
déclaration à l'intérieur de la fonction, elle ne pourra être évaluée que si vous exécutez cette fonction. Le problème est: le point de cette déclaration est d'exécuter la fonction en premier lieu.Je vous ai dit ce qui n'allait pas.
OriginalL'auteur Nils Werner
Voici toutes les réponses précédentes résumé:
Le code devrait ressembler à ceci:
Puis exécutez le code avec cette commande:
OriginalL'auteur C. Glass
En outre voir @thibauts réponse sur comment appeler un script python.
OriginalL'auteur ElmoVanKielmo