2010-03-13 131 views
5

Necesito convertir un código python compilado (.pyo) a su fuente. Lo busqué en depython.net, pero hay un problema. Una advertencia;¿Cómo recuperar el código fuente python (.py) del archivo .pyo?

"Versión del archivo anterior a la 2.4."

¿Qué debo hacer?

Gracias.

+1

si este es su propio código, luego use un sistema de control de versiones en el futuro. –

Respuesta

1

Pruebe decompyle.

Esto se ha convertido en un servicio comercial. Para probar con él, puede usar Debian Packages.

Me hubiera encantado probarlo, pero estoy en una máquina de Windows. Lo intentaré tan pronto como tenga la oportunidad.

+0

No puedo entender el método DebianPackages. También uso Windows, entonces necesito una estación de trabajo virtual como VMware, pero es muy complicado. No puedo deshacerme de eso. ¿Hay algún otro método? Cualquiera que sepa descompilar, si me ayudas, estoy realmente agradecido. Gracias. – celka

+0

Pruebe Ubuntu en el cuadro de Sun Virtual. Es gratis y funciona y es fácil :) –

+0

Lo intentaré. gracias por tu preocupación. Espero, lo hago. Que tengas un buen día. :) – celka

1

hay Decompile, el reputado barato (pero se puede probar en línea) depython y el proyecto UnPyc (sólo el 2,5 < =). También here es otra pregunta de SO relacionada con esto.

Espero que ayude.

6

Prueba estas:

uncompyle2 convierte Python el código de bytes de nuevo en el código fuente de Python equivalente. Acepta byte-code de Python versión 2.5 a 2.7. Además, solo se ejecutará en Python 2.7.

uncompyle6 traduce Python bytecode de nuevo en el código fuente equivalente de Python. Acepta bytecodes de la versión de Python 1.5 a 3.7 o más, incluido el bytecode generado por Pypy. El código requiere Python 2.4 o posterior y ha sido probado en Python con las versiones 2.4, 2.5, 2.6, 2.7, 3.2, 3.3, 3.4, 3.5 and 3.6.

+0

Tuve el mismo problema y esto me ayudó. La documentación es un poco engañosa y sobre todo se habla de archivos .pyc, pero funcionó bien con mi archivo .pyo. – Arjun

+1

@Arjun, actualicé la respuesta para admitir Python 3 –

+0

@Arjun: Cuando escribe "La documentación es un poco engañosa y sobre todo se habla de .pyc", si puede indicarme dónde lo engaña, lo revisaré. O mejor, sugiera una revisión. – rocky

Cuestiones relacionadas