.py va .pyc fayllari orasidagi farq nima?
sobes.tech AI
AIdan javob
.py — bu Python til yozilgan va interpretator tomonidan o'qilishi mumkin bo'lgan manba kodi. .pyc — bu .py faylidan kompilyatsiya qilingan bayt kod bo'lib, keyingi ishga tushirishlarni tezlashtirish uchun ishlatiladi.
Python interpretatori, modul birinchi import qilinganida .py fayllarini avtomatik ravishda .pyc ga kompilyatsiya qiladi va ularni saqlaydi, shunda keyingi ishga tushirishda qayta kompilyatsiya qilinmaydi. .pyc fayllari __pycache__ katalogida yoki eski versiyalarda mos .py fayli yonida saqlanadi.
# `.py` fayl mazmuni misoli
def greet(name):
print(f"Salom, {name}!")
# `.pyc` faylidan bayt kod (to'g'ridan-to'g'ri o'qilmaydi)
# c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00s\x0e\x00\x00\x00d\x00\x00GHd\x01\x00k\x02\x00\x83\x01\x00\x00d\x02\x00R\x00\xfa\x0bgreet.py\x05\x00\x00\x00s\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00C\x00\x00\x00s\x05\x00\x00\x00\x83\x00\x00\x00\x00Sq\x00\x00\x00s\x0c\x00\x00\x00\\x01\x00\x00\x00\x00\x01\x00\x00\x00r\x02\x00\x00\x00r\x02\x00\x00\x00\xfa\x0b<frozen greet>\x01\x00\x00\x00s\x08\x00\x00\x00\xe9\x00\x00\x00\x00r\x03\x00\x00\x00r\x04\x00\x00\x00r\x0b\x00\x00\x00r\x04\x00\x00\x00N\x86\x04\x00\x00\x00GHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHG\x0c\x12\x00\x00\x00s\x00\x00\x00\x00
Xulosa:
| Fayl | Tavsifi | Maqsad | O'qilishi |
|---|---|---|---|
.py |
Manba kodi | Dasturlash, mantiq yozish | Yuqori (inson tomonidan) |
.pyc |
Kompilyatsiya qilingan bayt kodi | Ishga tushirishni tezlashtirish | Past (mashina tomonidan) |
.pyc mavjudligi kodning bajarilishiga ta'sir qilmaydi, chunki interpretator ularni faqat modullarni yuklashni optimallashtirish uchun ishlatadi. Agar .py fayli o'zgartirilsa, .pyc fayli avtomatik ravishda qayta yaratiladi.