2011-09-14 20 views
5

__init__.py dosya deyimi ne yapardan. Benim Python birinde ithalat XXXX

from . import XXXX 

içeren paketler "" burada mı demek istiyorsun Bu tekniği başka bir pakete bakarak elde ettim, ama ne anlama geldiğini anlamıyorum.

Teşekkürler!

cevap

5
+1

Duh, elbette öyle. Beni özelliğin doğru adına yönlendirdiğiniz için teşekkür ederim. – jlconlin

+0

Bu, teorik olarak, bu sorunun cevabının temel kısımlarını içerecek şekilde [// meta.stackoverflow.com/q/8259] [tercih edilir] ve referans için bağlantı sağlayarak bu soruya teorik olarak cevap verebilir. – Barmar

10

Göreli bir ithalatı. Gönderen: http://docs.python.org/py3k/reference/simple_stmts.html#the-import-statement

neyi, modülü mutlak adını belirtmek gerekmez ithal etmek belirtirken. Bir modül veya paket başka bir pakette içerdiğinde, paket adından söz etmeksizin aynı üst paket içinde göreceli bir ithalat yapmak mümkündür. tarafından belirtilen modülde veya önde gelen noktalarda kullanarak, geçerli paket hiyerarşisi tam adlarını belirtmeksizin ne kadar yüksek geçiş yapacağını belirtebilirsiniz.

Önde gelen bir nokta, içe aktarma işlemini yapan modülün mevcut paketidir. İki nokta, bir paket seviyesi anlamına gelir. Üç nokta, iki seviye, vb. Yani pkg paketindeki bir modülden from . import mod'u çalıştırırsanız, pug.mod dosyasını içe aktarma işleminin sonunda sona ereceksiniz. Pkg.subpkg1 içinde 'dan ..subpkg2 import mod'dan yürütürseniz, pkg.subpkg2.mod dosyasını içe aktarırsınız. Göreceli ithalat için spesifikasyonu, PEP 328'in içinde bulunmaktadır.