+ Cevap Yaz
1 sonuçtan 1 ile 1 arası gösteriliyor

Konu: Derlenmiş Python Dosyaları (.pyc, .pyo)

  1. #1
    Yönetim Kurulu Rahman Yazgan Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    01/2008
    Yer
    İstanbul
    Mesaj
    516

    Derlenmiş Python Dosyaları (.pyc, .pyo)

    Derlenmiş Python dosyaları programların çalışmaya başlaması için gereken süreyi kısaltırlar. Örneğin deneme.py adlı dosyanın bulunduğu dizinde deneme.pyc adlı bir dosya varsa bu modul, deneme modülünün ikilik derlenmiş halidir. deneme.py dosyasının son değiştirilme tarihi deneme.pyc dosyasının içinde de kayıtlıdır ve bu tarihler aynı değil ise .pyc dosyası dikkate alınmaz.

    deneme.pyc dosyasının oluşması için bir şey yapmanız gerekmez. deneme.py her ne zaman başarılı olarak derlenirse programın derlenmiş hali deneme.pyc dosyasına kaydedilir. Bunun yapılamaması bir hata değildir; herhangi bir nedenle .pyc dosyası tam olarak yazılamazsa geçersiz sayılır ve dikkate alınmaz. .pyc dosyalarının içeriği platformdan bağımsızdır. Bu sayede bir Python modülü dizini farklı mimarideki makineler tarafından paylaşılabilir.

    Uzmanlar için birkaç ipucu:
    Python yorumlayıcısı -O parametresi ile çalıştırıldığında eniyileştirilmiş (optimized) kod üretilir 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 tüm ikilik kod eniyileştirilir, .pyc dosyaları göz 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 çalışmayan programlara neden olan eniyileştirmeler yapmasına neden olur. Şu anda sadece __doc__ dizgeleri silinerek daha küçük .pyo dosyaları üretilmektedir. Bazı programların çalış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ı çalışmaz; sadece yüklenme süresi kısalır.
    Bir betik komut satırından ismi verilerek çalıştırıldığında bunun ikilik kodu asla bir .pyc ya da .pyo dosyasına yazılmaz. Bu yüzden betiğin başlama süresini kısaltmak için bunun bir kısmı bir modüle aktarılarak ve bu modülü yükleyen küçük 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 çalıştırılabilir.

    deneme.py dosyası olmadan da deneme.pyc (ya da -O kullanıldığında deneme.pyo) dosyası kullanılabilir. Bunlar bir Python kodu kütüphanesinin tersine mühendisliği zorlaştıran şekilde dağıtılmasında kullanılabilir. Yani kodlarınızı paylaşmak istemiyorsanız .pyc dosyalarını paylaşabilirsiniz.

    compileall modülü bir dizindeki bütün dosyalar için deneme.pyc (ya da -O kullanıldığında deneme.pyo) dosyaları oluşturulabilir.

    Alıntı.
    Enson 20/05/2009 06:30 tarihinde Rahman Yazgan tarafından düzenlenmiştir.
    Bu yedi ölümcül günah, insanlığı yıkıma uğratır:
    Zahmetsiz servet, bilinçsiz haz, karaktersiz bilgi, ahlaksız ticaret,
    insaniyetsiz bilim, özverisiz inanç, ilkesiz siyaset. (Mahatma Gandhi)

+ Cevap Yaz

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Benzer Konular

  1. Python
    By laucian in forum Python / Zope
    Cevap: 13
    En Son Mesaj: 23/07/2008, 21:20
  2. Python & RSA
    By Utku in forum Python / Zope
    Cevap: 5
    En Son Mesaj: 19/10/2007, 15:48
  3. Cevap: 2
    En Son Mesaj: 06/09/2007, 01:11
  4. Resimler ses dosyaları görüntü dosyaları ....
    By ay_danscisi in forum Site Yorum
    Cevap: 0
    En Son Mesaj: 22/02/2005, 16:57

Bookmarks

Mesaj Yazma Hakları

  • Yeni mesajgöndermezsiniz
  • Cevap yazamazsınız
  • Dosya ekleyemezsiniz
  • Mesajınızı düzenleyemezsiniz