импорт подстановочных знаков Python - PullRequest
0 голосов
/ 22 марта 2011

Странная проблема при импорте модулей:

Структура файла:

pages/
      test.py
spawn.py

Из spawn.py, если я сделаю

from pages import test

, все работает как положено.

Если я сделаю

from pages import *

, я получу

NameError: name 'test' is not defined

Я не получу ImportError.Я закомментировал все, кроме двух строк кода.У меня есть init .py в директории 'pages', это не имеет значения, поскольку я могу импортировать, просто не используя.Я попытался изменить имена файлов.Пробовал на разных машинах, оба Debian 6.0, хотя.Python версия 2.6.6

Есть идеи?

Ответы [ 2 ]

1 голос
/ 22 марта 2011

Вы должны положить import test в pages/__init__.py.

Тот факт, что pages является модулем, не означает, что он волшебным образом импортирует все файлы в одной папке. Вам все еще нужно назвать модули, которые вы хотите импортировать (или написать код, который импортирует их автоматически).

0 голосов
/ 22 марта 2011

Это важно, потому что pages/__init__.py содержит символы, которые from pages import * будет импортировать

...