Ceci 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 __== "__main__":
hello(sys.argv[2])
Le problème est qu'il ne peut pas être exécuté à partir de l'invite de la ligne de commande Windows, j'ai utilisé cette commande:
C:\Python27>hello 1 1
Mais cela n'a malheureusement pas fonctionné. Quelqu'un peut-il aider, s'il vous plaît?
import sys
hors fonction bonjour.'
devrait être évité ou devrait être maîtrisé par "
.python hello.py <some-number> <some-number>
en ligne de commande?import sys
def hello(a,b):
print "hello and that's your sum:", a + b
if __== "__main__":
a = int(sys.argv[1])
b = int(sys.argv[2])
hello(a, b)
Pour exécuter votre programme à partir de la ligne de commande, vous devez appeler l'interpréteur python, comme ceci:
C:\Python27>python hello.py 1 1
Si votre code réside dans un autre répertoire, vous devrez définir le chemin binaire python dans votre variable d’environnement PATH). Vous pourrez également trouver des instructions détaillées ici .
Voici toutes les réponses précédentes résumées:
Le code devrait ressembler à ceci:
import sys
def hello(a, b):
print "hello and that's your sum:"
sum = a+b
print sum
if __name__== "__main__":
hello(int(sys.argv[1]), int(sys.argv[2]))
Puis exécutez le code avec cette commande:
python hello.py 1 1
Votre indentation est cassée. Cela devrait résoudre le problème:
import sys
def hello(a,b):
print 'hello and thats your sum:'
sum=a+b
print sum
if __== "__main__":
hello(sys.argv[1], sys.argv[2])
Évidemment, si vous mettez l'instruction if __name__
à l'intérieur de la fonction, celle-ci ne sera évaluée que si vous exécutez cette fonction. Le problème est le suivant: le but de cette déclaration est d'exécuter la fonction en premier lieu.
import sys
def hello(a, b):
print 'hello and that\'s your sum: {0}'.format(a + b)
if __== '__main__':
hello(int(sys.argv[1]), int(sys.argv[2]))
De plus, @thibauts vous explique comment appeler le script python.