Konversi PYC menjadi PY
Menjelaskan mengapa file .pyc sulit dipulihkan dan alat apa yang mungkin dapat membantu
Bagaimana mengkonversi pyc ke py berkas
- Pemrograman
- Belum ada peringkat.
Apa itu file .pyc dan .py
.py adalah file sumber Python yang Anda baca, edit, dan jalankan. .pyc adalah file bytecode Python yang dikompilasi, yang dapat dieksekusi Python dengan lebih cepat setelah sumbernya dikompilasi.
Bisakah file .pyc dikonversi kembali menjadi .py?
Tidak sempurna. File .pyc tidak berisi kode sumber asli secara lengkap. Dalam banyak kasus, file tersebut dapat didekompilasi menjadi kode Python yang mirip, tetapi hasilnya mungkin berbeda dari aslinya dan mungkin tidak sepenuhnya dapat dibaca atau dijalankan tanpa perbaikan.
Apa yang hilang dalam file .pyc
Ketika Python mengompilasi kode sumber, ia menyimpan bytecode dan beberapa metadata, tetapi tidak mempertahankan komentar, format asli, dan sering kali tidak mempertahankan semua nama variabel atau detail struktural persis seperti yang ditulis dalam sumber.
Kapan dekompilasi mungkin berhasil
Dekomplier kadang dapat memulihkan kode dari .pyc yang dibuat oleh versi Python yang didukung. Keberhasilan bergantung pada versi Python, integritas file, dan apakah bytecode telah diobfusikasi atau diubah.
Alat yang bisa Anda coba
Untuk inspeksi atau pemulihan, alat seperti uncompyle6 dan decompyle3 umumnya digunakan. Gunakan alat yang mendukung versi Python yang membuat file .pyc. Versi bytecode yang lebih baru mungkin tidak didukung oleh dekompiler yang lebih lama.
Contoh perintah
Untuk mencoba mendekompilasi file dengan alat yang didukung, jalankan:
uncompyle6 example.pyc > example.py
Setelah itu, tinjau output dengan saksama dan uji, karena kode yang didekompilasi mungkin perlu koreksi manual.
Keterbatasan penting
File .pyc bukan cadangan yang andal dari kode sumber. File ini dimaksudkan untuk dieksekusi, bukan untuk pemulihan sumber. Jika file dibuat oleh versi Python yang berbeda, rusak, atau dilindungi/diobfusikasi, dekompilasi dapat gagal atau menghasilkan hasil yang tidak benar.
Cara terbaik untuk memulihkan sumber
Jika Anda membutuhkan kode asli, cari file .py di version control, cadangan, arsip deployment, atau dari pengembang aslinya. Jika tidak ada sumber, dekompilasi hanya merupakan metode pemulihan terakhir.
PYC vs PY: perbandingan format
Bagaimana format PYC dan PY dibandingkan pada properti yang paling penting untuk konversi ini.
| Properti | .PYC Python compiled bytecode | .PY Python source file |
|---|---|---|
| Dapat dibaca teks biasa | Tidak | Ya |
| Pemformatan teks | Tidak ada | Dasar |
| Gambar | Tidak | Tidak |
| Pengeditan lanjutan | Tidak dapat diedit langsung | Mudah |
| Terbuka di browser web | Tidak | Tidak |
| Ukuran file umum | Sangat kecil | Kecil |
| Standar terbuka | Ya | Ya |
| Paling cocok untuk | Penyematan dalam aplikasi | Penyuntingan dan pascaproduksi |
| Diperkenalkan | 1991 | 1991 |
| Pengembang | Python Software Foundation | Python Software Foundation |
| Tipe MIME | — | text/x-python |