2009-10-06 11 views

risposta

18

Si può dire

python -m py_compile script_to_check.py 

Tuttavia, questo avrà l'effetto collaterale di creare un compilato script_to_check.pyc file nella stessa directory dello script. Questa funzione è progettata per accelerare gli usi successivi di un modulo piuttosto che per assicurarti che la tua sintassi sia corretta, sebbene tu possa sicuramente usarla per quello.

0

Attraverso 2.6, c'è the compiler package. Quella pagina non dice se c'è una sostituzione in 3.0, o se proprio non puoi farlo più.

+1

c'è una funzione 'compile' incorporata http://docs.python.org/3.1/library/functions.html#compile – SilentGhost

8

Ancora meglio è eseguire pyflakes, pychecker o forse pylint al codice. Prendono alcuni errori comuni che la compilazione non farà.

+0

Se vuoi catturare cose come le variabili usate prima di essere impostate, allora pychecker è utile --- queste cose non sono catturate dalla semplice compilazione. Ho avuto un po 'di difficoltà nel farlo controllare un modulo (al contrario di uno script), comunque. Ho dovuto eseguire 'pychecker foo.bar foo.bar.baz' perché il file' foo/bar/baz.py' utilizza le importazioni relative. Ma una volta che ho funzionato, sembra funzionare abbastanza bene (ad es., '[Percorso di sistema] /foo/bar/baz.py:123 No global (qix) found'). –

Problemi correlati