2009-10-25 81 views
6

¿Hay un programa que se puede ejecutar la siguiente manera:¿Cómo puedo quitar los comentarios y las cadenas de documentación del código fuente de Python?

py2py.py <orig.py> smaller.py 

Dónde orig.py contiene el código fuente de Python con comentarios y cadenas de documentación, y smaller.py contiene idéntica, código fuente ejecutable pero sin los comentarios y doc ¿instrumentos de cuerda?

Código que originalmente era la siguiente:

#/usr/bin/python 
"""Do something 
blah blah... 
""" 

# Beware the frubnitz! 
def foo(it): 
    """Foo it!""" 
    print it # hmm? 

sería parecido a esto:

def foo(it): 
    print it 

Respuesta

8

This Python minifier parece que hace lo que necesita.

+0

Excelente. 'minify' fue la palabra mágica. –

2

Recomiendo minipy. La razón más convincente es que hace un análisis adecuado del árbol de sintaxis del código fuente para que el código minificado sea mucho más preciso. Descubrí que el más conocido pyminifier tiende a generar código con errores de símbolos indefinidos, tuplas mal interpretadas, etc. También obtuve unos pocos mejores resultados de compresión con minipy. Un beneficio menor de minipy es que es menos de la mitad del tamaño del código del pyminifier. También es más fácil administrar e integrar en una canalización de compilación porque es un único archivo python independiente.

+0

Upvoted, pero tenga en cuenta que minipy solo es compatible con Python 2. –

+1

@JohnMcGehee con un par de cambios triviales Pude trabajar alrededor de los 2 ismos de python más obvios y ahora es compatible con el código de python 3 que estoy minimizando. Aquí está el cambio: https://github.com/kanaka/minipy/commit/dfd0216ec55bae536664155ea38270520d14fe27 – kanaka

Cuestiones relacionadas