У меня есть приложение на Python, структура каталогов которого выглядит следующим образом.
-pythonapp
-mainpython.py
-module1
-submodule1
-file1.py
-file2.py
-submodule2
-file3.py
-file3.py
-submodule3
-file1.py
-file2.py
-file5.py
-file6.py
-file7.py
, когда я пытаюсь импортировать утилиты python (из mainpython.py) в submodule3, я получаю первые 2 файла из submodule1(обратите внимание, что подмодуль 1 и 3 имеют 2 разных файла с одинаковым именем).Однако тот же импорт работает нормально, когда нет конфликта, т.е. он правильно импортирует файл 5,6,7 из подмодуля 3.
Вот код:
name=os.path.splitext(os.path.split("module1\submodule3\file1.py")[1])[0] --> file1.py name here is passed dynamically.
module = __import__(name)
// Вот имякак и «file1», он работает (но с вышеупомянутой проблемой, хотя, когда динамически передает имя файла), но если я передаю полный пакет как «module1.submodule1.file1», он завершается ошибкой с сообщением ImportError, что «нет модуля»с именем file1 "
Теперь вопрос в том, как мы можем сказать интерпретатору использовать только те, что указаны в" module1.submodule3.file2 "?Я использую python
Это действительно срочно, и у меня закончились все попытки.Надеюсь, что некоторые опытные разработчики Python могут решить эту проблему для меня?