2009-10-06 13 views

Antwort

18

können Sie sagen,

python -m py_compile script_to_check.py 

Dies ist jedoch die Nebenwirkung der Schaffung einer kompilierten script_to_check.pyc-Datei im selben Verzeichnis wie das Skript haben. Diese Funktion wurde entwickelt, um die spätere Verwendung eines Moduls zu beschleunigen, anstatt sicherzustellen, dass Ihre Syntax korrekt ist, obwohl Sie sie sicherlich dafür verwenden könnten.

0

Durch 2.6 gibt es the compiler package. Auf dieser Seite wird nicht angegeben, ob in 3.0 ein Ersatz vorhanden ist oder ob das nicht mehr möglich ist.

+1

Es gibt eine eingebaute 'compile'-Funktion http://docs.python.org/3.1/library/functions.html#compile – SilentGhost

8

Noch besser ist es, pyflakes, pychecker oder vielleicht pylint am Code laufen zu lassen. Sie fangen einige allgemeine Fehler auf, die kompiliert werden nicht.

+0

Wenn Sie Dinge fangen wollen wie Variablen, die vor dem Setzen verwendet wurden, dann ist Pychecker hilfreich --- Diese Dinge werden nicht durch bloße Zusammenstellung gefangen. Ich hatte ein paar Probleme damit, ein Modul (im Gegensatz zu einem Skript) zu überprüfen. Ich musste 'pychecker foo.bar foo.bar.baz' machen, weil die' foo/bar/baz.py' Datei relative Importe verwendet. Aber sobald ich es funktionierte, scheint es recht gut zu funktionieren (z. B. '[Systempfad] /foo/bar/baz.py:123 No global (qix) found'). –