Я пишу какой-то автоматизированный набор тестов и хочу убедиться, что классы, содержащиеся в «тестах» пакета, автоматически импортируются во время выполнения в основном пространстве имен, без добавления их в файл __init__
пакета .
Итак, вот сценарий, который у меня есть:
import os
for dirpath, dirnames, filenames in os.walk('tests'):
for filename in filenames:
if filename.lower().endswith(('.pyc', '__init__.py')): continue
module = ".".join([dirpath, filename.split('.')[0]])
print module
Если я использую modulename = __import__(module)
, классы добавляются в модуль 'modulename', а не в основное пространство имен.
Мой вопрос: как мне импортировать их в текущее пространство имен?
Так что я могу делать такие вещи, как:
testcase = TestCase()
testcase.run()
results = testcase.results()
или что-то в основном сценарии без явного импорта классов.
Заранее спасибо!
Спасибо всем, что ответили и пытаетесь помочь мне.