2012-04-25 2 views
3

J'essaie d'apprendre Python, mais j'ai des problèmes pour exécuter les fichiers source à partir de Power Shell. Quand je tape 'python' il s'ouvre et je peux taper les commandes python directement dans le shell. Je pense que cela s'appelle le mode interactif. Mais quand j'essaie d'exécuter/exécuter un fichier source, je reçois un message d'erreur: It sayys: Erreur de syntaxe: syntaxe invalide. J'utilise 'python myfile.py' lorsque j'essaie d'exécuter le script.Exécuter le fichier source python à partir de PowerShell

Si j'exécute le même fichier à partir de IDLE, cela fonctionne très bien. Ana idée de ce que je fais mal?

Voici monfichier.py. Je suis en cours d'exécution python 2,7

# filename: myfile.py 

while True: 
     s = raw_input('Enter something: ') 
     if s == 'Quit': 
      break 
     print 'Lenght of the string is', len(s) 
print 'Done' 
+0

Pouvez-vous nous montrer 'myfile.py', ainsi que quelle version de python vous utilisez? – birryree

+0

Vous pouvez exécuter le script Python directement en tant que 'myfile.py' dans la ligne de commande. – Fenikso

+0

Maintenant, j'ai ajouté le code pour myfile.py – user1009453

Répondre

2

Vous devrez placer le chemin complet de l'exécutable Python dans la ligne de commande pour que cela fonctionne. Vous pouvez vérifier et vérifier que votre exe python est inclus dans votre chemin parmi vos variables système.

1

Disclaimer: Je ne sais pas PowerShell, mais je ne sais cmd.exe.

Je ne sais pas pourquoi python myfile.py ne fonctionne pas, mais en supposant que PowerShell porte au moins une certaine similitude avec cmd.exe, ce qui suit devrait probablement fonctionner: myfile.py. C'est vrai, il suffit d'entrer le nom du script Python et appuyez sur Entrée.

3

Vous pouvez avoir plusieurs versions de Python installées et la version utilisée par IDLE est plus récente. Pour voir quelle version de python vous avez, vous pouvez taper >python -V sur une ligne de commande. Si cette version semble appropriée, vous pouvez avoir besoin du chemin d'accès complet au fichier en tant que deuxième paramètre. E.g >python C:\myfile.py.

Si vous avez installé Python correctement, il est toujours possible que le simple fait de taper le nom du script l'exécute avec python. Par exemple. >myfile.py

Je trouve toujours que l'ajout C:\Python27 à la variable %PATH% et .PY à la variable %PATHEXT% rend plus facile l'exécution de scripts. Dans ce cas, >myfile devrait fonctionner.

Modifier après mise à jour:

frappe juste >python sans paramètre ouvre python en « mode interactif » qui est différent du mode de traitement par lots ou les scripts que votre script est destiné. S'il est exécuté avec des arguments, le premier argument est considéré comme le chemin du fichier et d'autres arguments sont passés au script dans la liste sys.argv.

+0

Si aucune de ces méthodes ne fonctionne, il y a toujours une chance que vous ayez une erreur de syntaxe dans votre fichier python. – Will

+0

Voici ce que j'utilise pour définir Path: [Environment] :: SetEnvironmentVariable ("Chemin", "$ env: Chemin; C: \ Python27", "Utilisateur") Est-ce que ça vous va? – user1009453

0

Si vous avez commencé en tapant "python" dans powershell vous devrez sortir de ce script.

Si vous êtes dans le type de python:

quit() puis tapez python myfile.py

Cela devrait fonctionner si votre python est correctement installé.

0

Essayez de taper ceci dans Powershell:

$env:path="$env:Path;C:\Python33 

Après cela, commande

python yourfile.py 

devrait fonctionner.

0

Ce mon idiot, surtout venant d'un débutant.

Il suffit de sauvegarder le fichier sur votre bureau. Ouvrez PowerShell et faites glisser le fichier directement dans PowerShell et il s'ouvre. un peu ennuyeux mais ça marche

Questions connexes