2010-12-27 20 views
85

Duplicar posibles:
How can I check the syntax of Python script without executing it?(pero no de ejecución) una secuencia de comandos de Python

Cómo puedo compilar una secuencia de comandos de Python sin ejecutarlo? Solo quiero verificar si el script tiene errores de sintaxis. Esperaba un simple cambio de línea de comando, pero no vi nada en python --help. Me gustaría una respuesta tanto para Python 2 y Python 3.

+0

@sukhbir: Tienes razón, pero me acabo de dar cuenta de la respuesta, y no figura en ese hilo. – asmeurer

+0

@asmeurer: Sí, lo es, la respuesta que publicó está en esa pregunta. – Falmarri

+1

La compilación y la comprobación de sintaxis son cosas diferentes, de verdad. Desea verificar la sintaxis, la respuesta está en el otro hilo. Usted * pregunta * cómo compilarlo, que es una pregunta diferente, realmente debería cambiar el tema. –

Respuesta

7

Una forma es hacer algo como esto (por test.py):

python -c "__import__('compiler').parse(open('test.py').read())" 

Esto funciona para Python 2.x.

12

Puede encontrar pylint para encontrar errores de sintaxis y errores más sutiles, como el acceso a variables indefinidas en alguna rama condicional poco utilizada.

297
python -m py_compile script.py 
+1

gracias. esto es simplemente genial! y mucho más fácil de recordar que la versión de @Greg Hewgills;) –

+4

Esta debería ser la respuesta aceptada. –

+0

Exactamente lo que estaba esperando - gracias –

Cuestiones relacionadas