2014-12-09 3 views
2

Я понимаю, что четыре строки ниже:Импорт собственных модулей Python

import bpy 
import numpy as np 
from sys import argv 
from os import * 

Но я никогда не видел, следующие строки:

from . uisun import * 
from . hdr import sunposition 

Что о точке? Это относится к позиции в каталоге или к чему-то еще? Файлы uisun.py, sunposition.py, hdr.py находятся в том же каталоге, в __init__.py, который содержит код, приведенный выше. Кстати, это происходит от дополнения Blender.

ответ

1

ITs Intra-package References:

Подмодули часто необходимо ссылаться друг на друга. Например, модуль объемного звучания может использовать модуль эхо-сигнала. Фактически, такие ссылки настолько распространены, что оператор импорта сначала выглядит в содержащем пакете, прежде чем искать в пути поиска стандартного модуля. Таким образом, модуль объемного звучания может просто использовать импортное эхо или эхофильтр эхо-сигнала. Если импортированный модуль не найден в текущем пакете (пакетом которого является текущий модуль является подмодулем), оператор import ищет модуль верхнего уровня с заданным именем.

Когда пакеты структурированы в подпакеты (как и в случае с звуковым пакетом в примере), вы можете использовать абсолютный импорт для обозначения подмодулей пакетов братьев и сестер. Например, если модуль sound.filters.vocoder должен использовать модуль эха в пакете sound.effects, он может использоваться из sound.effects import echo.

Начиная с Python 2.5, в дополнение к неявным относительным импортам, описанным выше, вы можете написать явные относительные импорты с формой импорта импорта из формы импорта. Эти явные относительные импорты используют ведущие точки для указания текущих и родительских пакетов, участвующих в относительном импорте. Например, из модуля объемного звучания вы можете использовать:

from . import echo 
from .. import formats 
from ..filters import equalizer 
1

Это похоже на игру в терминале. '' означает текущий каталог (где вы запускаете свою программу), а «..» - родительский каталог. Например, прочтите this.

Смежные вопросы