Derlenmiş Python dosyaları programların calışmaya başlaması icin gereken sureyi kısaltırlar. Orneğin spam.py adlı dosyanın bulunduğu dizinde spam.pyc adlı bir dosya varsa bu modul, spam modulunun ikilik derlenmiş halidir. spam.py dosyasının son değiştirilme tarihi spam.pyc dosyasının icinde de kayıtlıdır ve bu tarihler aynı değil ise .pyc dosyası dikkate alınmaz. spam.pyc dosyasının oluşması icin bir şey yapmanız gerekmez. spam.py her ne zaman başarılı olarak derlenirse programın derlenmiş hali spam.pyc dosyasına kaydedilir. Bunun yapılamaması bir hata değildir; herhangi bir nedenle .pyc dosyası tam olarak yazılamazsa gecersiz sayılır ve dikkate alınmaz. .pyc dosyalarının iceriği platformdan bağımsızdır. Bu sayede bir Python modulu dizini farklı mimarideki makineler tarafından paylaşılabilir. Uzmanlar icin birkac ip ucu: Python yorumlayıcısı -O parametresi ile calıştırıldığında eniyileştirilmiş (optimized) kod uretilir ve .pyo uzantılı dosyalarda saklanır. Eniyileştircinin (optimizer) şu anda pek bir yararı olmuyor; sadece assert deyimlerini siliyor. -O parametresi kullanıldığında tum ikilik kod eniyileştirilir, .pyc dosyaları goz ardı edilir ve .py dosyaları eniyileştirilmiş ikilik kod olarak derlenir. Yorumlayıcıya iki tane -O parametresi (-OO) vermek derleyicinin bazı ender durumlarda doğru calışmayan programlara neden olan eniyileştirmeler yapmasına neden olur. Şu anda sadece __doc__ dizgeleri silinerek daha kucuk .pyo dosyaları uretilmektedir. Bazı programların calışması bunların varlığına bağımlı olabileceğinden bu parametreyi kullanırken dikkatli olun. Bir program .pyc ya da .pyo dosyasından okunduğunda .py dosyasından okunan halinden daha hızlı calışmaz; sadece yuklenme suresi kısalır. Bir betik komut satırından ismi verilerek calıştırıldığında bunun ikilik kodu asla bir .pyc ya da .pyo dosyasına yazılmaz. Bu yuzden betiğin başlama suresini kısaltmak icin bunun bir kısmı bir module aktarılarak ve bu modulu yukleyen kucuk bir başlatıcı betik kullanılarak kısaltılabilir. Komut satırından bir .pyc ya da .pyo dosyası da ismi verilerek doğrudan calıştırılabilir. spam.py dosyası olmadan da spam.pyc (ya da -O kullanıldığında spam.pyo) dosyası kullanılabilir. Bunlar bir Python kodu kutuphanesinin tersine muhendisliği zorlaştıran şekilde dağıtılmasında kullanılabilir. compileall modulu bir dizindeki butun dosyalar icin spam.pyc (ya da -O kullanıldığında spam.pyo) dosyaları yaratabilir.
__________________
Python - "Derlenmiş" Python Dosyaları
Programlama0 Mesaj
●31 Görüntüleme
- ReadBull.net
- Programlama ve Yazılım
- Programlama
- Python - "Derlenmiş" Python Dosyaları