Convertir PYC a PY
Explica por qué los archivos .pyc son difíciles de restaurar y qué herramientas pueden ayudar
Cómo convertir un archivo pyc a py
- Programación
- Aún sin calificaciones.
Qué son los archivos .pyc y .py
Los archivos .py son archivos de código fuente de Python que lees, editas y ejecutas. Los archivos .pyc son archivos de bytecode compilado de Python que Python puede ejecutar más rápido después de que el código fuente se haya compilado.
¿Se puede convertir un archivo .pyc de nuevo a .py?
No perfectamente. Un archivo .pyc no contiene el código fuente original completo. En muchos casos, se puede descompilar en un código Python similar, pero el resultado puede diferir del original y puede no ser totalmente legible o ejecutable sin correcciones.
Qué se pierde en los archivos .pyc
Cuando Python compila el código fuente, conserva el bytecode y cierta metainformación, pero no preserva los comentarios, el formato original y, a menudo, tampoco todos los nombres de variables o los detalles estructurales exactamente tal como están escritos en el código fuente.
Cuándo la descompilación puede funcionar
Los descompiladores a veces pueden recuperar código de .pyc creados por versiones compatibles de Python. El éxito depende de la versión de Python, la integridad del archivo y de si el bytecode ha sido ofuscado o alterado.
Herramientas que puedes probar
Para inspección o recuperación, herramientas como uncompyle6 y decompyle3 se usan comúnmente. Usa la herramienta que admita la versión de Python que creó el archivo .pyc. Las versiones más nuevas de bytecode pueden no ser compatibles con descompiladores antiguos.
Ejemplo de comando
Para intentar descompilar un archivo con una herramienta compatible, ejecuta:
uncompyle6 example.pyc > example.py
Después, revisa la salida cuidadosamente y pruébala, porque el código descompilado puede necesitar corrección manual.
Limitaciones importantes
Los archivos .pyc no son una copia de seguridad fiable del código fuente. Están pensados para la ejecución, no para la recuperación del código fuente. Si el archivo se generó con una versión diferente de Python, está dañado o estaba protegido/ofuscado, la descompilación puede fallar o producir resultados incorrectos.
Mejor forma de recuperar el código fuente
Si necesitas el código original, busca el archivo .py en el control de versiones, copias de seguridad, archivos de despliegue o con el desarrollador original. Si no existe el código fuente, la descompilación es solo un método de recuperación de último recurso.
PYC vs PY: comparación de formatos
Cómo se comparan los formatos PYC y PY en las propiedades que más importan para esta conversión.
| Propiedad | .PYC Python compiled bytecode | .PY Python source file |
|---|---|---|
| Legible como texto plano | No | Sí |
| Formato de texto | Ninguno | Básico |
| Imágenes | No | No |
| Edición posterior | No editable directamente | Fácil |
| Se abre en un navegador web | No | No |
| Tamaño de archivo típico | Muy pequeño | Pequeño |
| Estándar abierto | Sí | Sí |
| Más adecuado para | Incrustación en aplicaciones | Edición y posproducción |
| Introducido | 1991 | 1991 |
| Desarrollador | Python Software Foundation | Python Software Foundation |
| Tipo MIME | — | text/x-python |