Convertir PYC en PY
Explique pourquoi les fichiers .pyc sont difficiles à restaurer et quels outils peuvent aider
Comment convertir pyc en fichier py
- Programmation
- Aucune note pour l'instant.
À quoi servent les fichiers .pyc et .py
.py sont des fichiers source Python que vous lisez, modifiez et exécutez. .pyc sont des fichiers de bytecode Python compilés que Python peut exécuter plus rapidement après la compilation du code source.
Un fichier .pyc peut-il être reconverti en .py ?
Pas parfaitement. Un fichier .pyc ne contient pas l’intégralité du code source original. Dans de nombreux cas, il peut être décompilé en un code Python similaire, mais le résultat peut différer de l’original et ne pas être entièrement lisible ou exécutable sans corrections.
Ce qui est perdu dans les fichiers .pyc
Lorsque Python compile du code source, il conserve le bytecode et certaines métadonnées, mais il ne préserve pas les commentaires, la mise en forme originale, et souvent pas non plus tous les noms de variables ou les détails structurels exactement tels qu’ils sont écrits dans le code source.
Quand la décompilation peut fonctionner
Les décompilateurs peuvent parfois récupérer du code à partir de .pyc créés par des versions Python prises en charge. Le succès dépend de la version de Python, de l’intégrité du fichier, et de savoir si le bytecode a été obfusqué ou modifié.
Outils que vous pouvez essayer
Pour l’inspection ou la récupération, des outils comme uncompyle6 et decompyle3 sont couramment utilisés. Utilisez l’outil qui prend en charge la version de Python qui a créé le fichier .pyc. Les versions plus récentes du bytecode peuvent ne pas être prises en charge par des décompilateurs plus anciens.
Exemple de commande
Pour essayer de décompiler un fichier avec un outil pris en charge, exécutez :
uncompyle6 example.pyc > example.py
Ensuite, examinez attentivement la sortie et testez-la, car le code décompilé peut nécessiter des corrections manuelles.
Limitations importantes
Les fichiers .pyc ne sont pas une sauvegarde fiable du code source. Ils sont destinés à l’exécution, pas à la récupération du code source. Si le fichier a été généré par une version différente de Python, s’il est endommagé, ou s’il a été protégé/obfusqué, la décompilation peut échouer ou produire des résultats incorrects.
Meilleure façon de récupérer le code source
Si vous avez besoin du code original, cherchez le .py dans le contrôle de version, les sauvegardes, les archives de déploiement, ou auprès du développeur d’origine. S’il n’existe aucun code source, la décompilation n’est qu’une méthode de récupération en dernier recours.
Comparaison du format PYC vs PY
Comparaison entre les formats PYC et PY sur les propriétés les plus importantes pour cette conversion.
| Propriété | .PYC Python compiled bytecode | .PY Python source file |
|---|---|---|
| Lisible en texte brut | Non | Oui |
| Mise en forme du texte | Aucun | Basique |
| Images | Non | Non |
| Modification ultérieure | Non modifiable directement | Facile |
| S’ouvre dans un navigateur web | Non | Non |
| Taille de fichier typique | Très petit | Petit |
| Norme ouverte | Oui | Oui |
| Idéal pour | Intégration dans des applications | Montage et post-production |
| Date d’introduction | 1991 | 1991 |
| Développeur | Python Software Foundation | Python Software Foundation |
| Type MIME | — | text/x-python |