Я пытаюсь создать систему плагинов, и у меня есть функция, которая импортирует все модули в массив.
Расположение плагинов:
pluginsDir /
pluginsDir / чат
pluginsDir / чат / main.py
И это функция, которая находит и импортирует плагины:
if os.path.exists(pluginsDir):
for path, dirArray, fileArray in os.walk(pluginsDir):
for fileName in fileArray:
if fileName == "main.py":
sys.path.append(path)
try:
plugins.append(__import__("main"))
except:
print 'Could not import plugin, "'+path+'": plugin contains errors or is not a real plugin.'
Это нормально, если у меня только один плагин, но когда у меня несколько плагинов, он продолжает импортировать первый обнаруженный плагин.
Расположение плагинов:
pluginsDir /
pluginsDir / чат
pluginsDir / чат / main.py
pluginsDir / сборка
pluginsDir / сборка / main.py
Я пытался добавить sys.path.remove(path)
после моего оператора try, но он не удаляет путь после того, как я уже импортировал модуль.
Что я могу сделать, чтобы правильно импортировать мои плагины?