2011-03-27 3 views
1

Je reçois cette erreur dans Python3.2 sur une simple instruction d'impression. Je vais dans quelques tutoriels, ce qui est exactement l'exemple de code est écrit:SyntaxError dans print() Python3.2?

fh = open('lines.txt') 
for line in fh.readlines(): 
    print(line, end="") 

Mais ce que je reçois

File "./forloop.py", line 5 
    print(line, end="") 
       ^
SyntaxError: invalid syntax 

Toutes les idées pourquoi?

Répondre

6

Comme je l'ai dit dans le commentaire, je suis sûr que vous êtes sur 2.x.

Essayez cette

import sys 
print sys.version 

Si cela ne vous donne pas une erreur et dit « 2.x » alors vous êtes certainement. en utilisant 2.x

Si cela vous donne une erreur de syntaxe, son « 3.x »

(en plus de la tâche évidente de vérifier ce que sys.version détient, « print sys.version » est valable 2.x syntaxe mais pas la syntaxe 3.x valide)

+0

Ouais, voir mon commentaire ci-dessus à Ignacio :(Comment puis-je l'obtenir pour utiliser 3.2 quand je sais qu'il est installé? –

+0

Vérifiez/usr/local/bin .. il peut être installé là –

+0

OUI! Enfin! C'est juste merci! –

4

Cette erreur est générée par Python 2.x. Assurez-vous que vous invoquez réellement 3.x, que ce soit via la ligne de commande ou via shebang.

+0

Je peux confirmer ce que dit Ignacio. Python 3.1 et 3.2 ne donnent pas l'erreur, mais 2.7 le fait. Oscar doit être en cours d'exécution dans Python 2.x en ce qui me concerne. –

+0

Qu'est-ce qu'une commande que je peux mettre dans mon fichier .py pour montrer quelle version est en cours d'exécution? devrait être 3 ... –

+0

'print sys.version' –