Это, наверное, действительно просто, но я этого не понимаю.Следующие работы:
foo.py
class Foo:
pass
bar.py
module = __import__('foo')
foo = module.__dict__['Foo']
Впоследствии foo
- это класс foo.Foo
, как и ожидалось.
Тем не менее, если я помещу a.py
в пакет, он перестает работать:
qux / __ init __. Py
(пустой файл)
qux / foo.py
class Foo:
pass
bar.py
module = __import__('qux.foo')
foo = module.__dict__['Foo']
Запуск python bar.py
дает мне KeyError: 'Foo'
, но импорт модуля все еще успешен.
Что происходит, и как мне заставить его работать?