2012-07-27 6 views
5

Ich habe einen seltsamen Fehler mit sep, file, (usw.) Argumente von Python print() Funktion. Ich habe versucht, es googeln, dag around stackoverflow, und lesen python's documentation, aber ich kam mit nichts. Ich habe ein einfaches Snippet beigefügt, ich würde jede Hilfe sehr schätzen.Python 2.7 print() Fehler

# python 
Python 2.7.2 (default, Aug 19 2011, 20:41:43) [GCC] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> print("blah"*10, sep=" | ") 
    File "<stdin>", line 1 
    print("blah"*10, sep=" | ") 
         ^
SyntaxError: invalid syntax 

Antwort

11

Versuchen:

from __future__ import print_function 

erste

+0

danke dir. Es hat das Problem gelöst. Wie kommt es also, Python-Dokumentation (siehe meine Update-Post) anders angibt? und, wissen Sie, wo ich die relevante Dokumentation für native Verwendung der 'print()' Funktion finde? – MrRoth

+2

@MrRoth: Lesen Sie die Notiz auf Ihrem Link;) – phant0m

+1

@MrRoth Sie sollten dies als die Antwort akzeptieren. – Ash

6

In der 2.x-Serie, print ist eine Aussage, während in 3.x es eine Funktion ist. Wenn Sie in 2.6+ print als Funktion haben möchten, verwenden Sie from __future__ import print_function als erste Importanweisung.

Code Erwarten obwohl

0

Die Druckfunktion spezifisch für Python brechen 3. Sie haben zwei Lösungen hier:

schreiben

from __future__ import print_function 

so können Sie es als angegeben verwenden von cdarke.

Oder Sie verwenden drucken als eine einfache Anweisung, wie es mit älteren Versionen von Python sein sollte (print "Hello World").

+0

Das Problem mit der alten 'print'-Anweisung ist, dass das Trennzeichen nicht geändert werden kann, im Gegensatz zur aktuellen' print() '-Funktion. – cdarke