Ketika saya mengkompilasi file python, saya mendapatkan file * .pyc. Ketika saya mencoba menjalankannya, saya mendapat pesan yang mengatakan tidak ada program untuk menjalankannya. Ketika saya mencari program online melalui opsi itu, dikatakan tidak ada. Adakah yang bisa membantu saya menjalankan file di sana?
18
Untuk mendekompilasi file .pyc python3 yang dikompilasi, saya menggunakan
uncompyle6
OS Ubuntu saya saat ini sebagai berikut:Instalasi uncompyle6:
Untuk membuat file .py dari file .pyc Jalankan:
Secara otomatis file .py baru akan dibuat dengan nama file .pyc yang sama.
sumber
Python mengkompilasi file .py dan menyimpannya sebagai file .pyc sehingga dapat mereferensikannya dalam doa berikutnya. The .pyc berisi bytecode yang dikompilasi dari file sumber Python, yang merupakan kompilasi dari interpreter Python sumber. Kode ini kemudian dieksekusi oleh mesin virtual Python. Tidak ada salahnya menghapusnya (.pyc), tetapi mereka akan menghemat waktu kompilasi jika Anda melakukan banyak pemrosesan.
Python adalah bahasa yang ditafsirkan, sebagai lawan dari bahasa yang dikompilasi, meskipun perbedaannya bisa kabur karena adanya kompiler bytecode. Kompilasi biasanya berarti mengonversi kode mesin yang paling cepat dijalankan. Tetapi penerjemah mengambil teks yang bisa dibaca manusia dan menjalankannya. Mereka mungkin melakukan ini dengan tahap peralihan.
Sebagai contoh, Ketika Anda menjalankan file sumber myprog.py, interpreter python pertama kali melihat apakah
myprog.pyc
ada (yang merupakan versi byte-kode yang dikompilasimyprog.py
), dan apakah itu sebagai terbaru atau lebih baru daripadamyprog.py
. Jika demikian, penerjemah menjalankannya. Jika tidak ada, ataumyprog.py
lebih baru dari itu (artinya Anda telah mengubah file sumber), interpreter pertama mengkompilasimyprog.py
kemyprog.pyc
.Ada satu pengecualian untuk contoh di atas. Jika Anda memakai
#! /usr/bin/env python
baris pertamamyprog.py
, buat itu bisa dieksekusi, dan kemudian jalankanmyprog.py
dengan sendirinya.sumber
pyc
file ada tetapi Anda belum menjawab pertanyaan bagaimana menjalankannya. Itu dapat dikualifikasikan sebagai komentar yang sangat luas, bukan jawaban . Harap edit posting Anda untuk menambahkan jawaban yang sebenarnya.