SORU
19 AĞUSTOS 2011, Cuma


____ Mutlak ya da göreli dosya özniteliği Python?

Sorun __file__ anlamakta güçlük çekiyorum. , __file__ döner modül yüklendi mutlak yol anladığım kadarıyla.

Bu üretim sorunu yaşıyorum: bir beyanı print __file__, * python abc.py *4 çalışan abc.py verir. abc.py bir ben var /d/ çalışan döner projects/abc.py. Neden herhangi bir sebep?

CEVAP
19 AĞUSTOS 2011, Cuma


__file__ Bu modül, eğer bir dosya yüklü ise yüklü idi dosyanın yoluna. __file__ öznitelik statik olarak yorumlayıcısı bağlı C modülleri için mevcut değil, ek modül paylaşılan bir kütüphane dinamik olarak yüklenen, paylaşılan kitaplık dosyasının yol adını alır.

mailing list thread @soru için bir yorum kindall ile bağlantılı:

Bu belirli bir örnek yeniden oluşturma için denemedim, ama sebebi getpwd aramak istemiyoruz() her ithalat ne de biz işlem önbellek değişkeni için geçerli bir tür istiyorum dizin. (() getpwd nispeten yavaş ve bazen başarısız olabilir düpedüz, ve önbellek için çalışıyor yanlışmış gibi belli bir risk vardır.)

Biz bunun yerine, öğeleri üzerinde yürüyen site.py kod. sys.yol ve mutlak yol haline getirir. Ancak bu kod çalışır "sys önüne eklenir.önce yol, bu ilk yani sys değer.yoludur ".

Bu geri kalanı için, sys.path '' dahil değil düşünün.

Eğer modülü içeren sys.path parçası içinde değilse, bir alırsınızmutlak yol. Eğer modülü içeren sys.path parçası içinde, bir alırsınızgöreli yol.

Geçerli dizinde bir modül ve geçerli dizin yükdeğilsys.path, mutlak bir yolunu bulursun.

Geçerli dizinde bir modül ve geçerli dizin yüksys.path, göreli bir yol alırsınız.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • New Scientist

    New Scientis

    27 Kasım 2006
  • SlimaksClass

    SlimaksClass

    15 Kasım 2010
  • The Pet Collective

    The Pet Coll

    5 Ocak 2012