В системе Python, для которой я разрабатываю, мы обычно имеем эту модульную структуру.
mymodule/
mymodule/mymodule/feature.py
mymodule/test/feature.py
Это позволяет нашей небольшой тестовой среде легко импортировать test / feature.py и запускать модульные тесты. Однако теперь у нас есть необходимость в некоторых сценариях оболочки (написанных на Python):
mymodule/
mymodule/scripts/yetanotherfeature.py
mymodule/test/yetanotherfeature.py
Yetanotherfeature.py устанавливается модулем пакета Debian в / usr / bin. Но нам явно не нужно расширение .py. Итак, для того, чтобы тестовый фреймворк все еще мог импортировать модуль, мне нужно сделать следующую символическую ссылку:
mymodule/
mymodule/scripts/yetanotherfeature
mymodule/scripts/yetanotherfeature.py @ -> mymodule/scripts/yetanotherfeature
mymodule/test/yetanotherfeature.py
Можно ли импортировать модуль по имени файла в Python, или вы можете придумать более элегантное решение для этого?