Вот простой случай: я хочу определить модуль в роботе имени python. Итак, у меня есть папка с именем робот с этими двумя файлами:Python: from module import * in __init__
__init__.py:
from test import a
test.py:
a = "hello world"
Теперь, когда я import robot
в интерпретатор, пространство имен robot
включает в себя test
и a
. Тем не менее, я хочу, чтобы он включал a
. Почему это странное поведение?
EDIT:
Вот немного более показательным примером того, что я хочу добиться:
Учитывая следующие файлы:
__init__.py:
from spam import a
import ham
spam.py:
a = "hello world"
ham.py:
b = "foo"
Могу ли я иметь robot
пространство имен, содержащее a
и ham
на ее верхнем уровне, но не spam
?
'import robot' импортирует пакет робота (каталог). Поскольку вы не указываете, что импортировать, весь пакет импортируется. – Andenthal