Das Python-Skript"von __future__ importieren müssen am Anfang der Datei auftreten": Was definiert den Anfang der Datei?
'''
a
'''
from __future__ import print_function
funktioniert gut (das heißt, tut nichts), aber
'''
a
'''
'''
b
'''
from __future__ import print_function
Ursachen:
File "C:\test.py", line 8
from __future__ import print_function
SyntaxError: from __future__ imports must occur at the beginning of the file
Warum?
https://docs.python.org/2/reference/simple_stmts.html#future sagt, dass:
Eine Zukunft Aussage in der Nähe der Oberseite des Moduls erscheinen. Die einzigen Linien, die vor einer zukünftigen Aussage erscheinen können, sind:
- das Modul docstring (falls vorhanden),
- Kommentare,
- Leerzeilen und
- andere zukünftige Aussagen.
Das zweite Beispiel enthält nur Kommentare und Leerzeilen vor den from __future__ import print_function
, und es ist noch nicht funktionieren.
Ich benutze Python 2.7.
ein wenig Forschung geht einen langen Weg. Beginnen Sie mit der offiziellen Dokumentation: https://docs.python.org/2/reference/simple_stmts.html#future –
@BryanOakley Danke, die Dokumentation, die Sie verlinkt haben, zeigt an, dass Kommentare vor der 'from __future__ import print_function' platziert werden können scheint im Widerspruch zu dem zweiten Beispiel zu stehen, das ich gab. –
Im zweiten Beispiel haben Sie das Modul docstring, dann haben Sie _another_ Tripel-Anführungszeichen. Diese zweite Zeichenfolge ist weder ein Kommentar noch ein Docstring. –