Возможно ли открыть файл python с помощью os.path.join и выполнить некоторую функцию
Я работаю с Django Framework, и я пытаюсь открыть файл Python из-за пределов пакета Django. Я использую библиотеку OS, чтобы добраться до пути, который находится вне пакета Django, как это:
file_path = OS.path.join(settings.FILES_DIR, 'execute_get_symbols.py')
В file_path я получил только путь к файлу
Теперь мне нужно выполнить функцию на этом файле python (execute_get_symbols.py).
Мои вопросы следующие:
- Возможно ли это?
- И если это возможно, то как.
- А если это невозможно, то... как я могу импортировать файлы, которые находятся вне пакета Django и выполнить функцию? Например, from package.file_name import function .
Вы можете добавить свой файл в sys.path (список путей, по которым python ищет импортируемые вещи) - я обнаружил, что это довольно хакерский способ, но он все еще часто используется пользователями django:
import sys
sys.path.append(path_to_your_file)
import your_file
После этого вы сможете использовать его нормально
Я добавил следующий код в файл настроек на Django:
sys.path.append(os.path.join(BASE_DIR.parent.parent, "")) # To get the path from root until current directory
И из-за этого все пакеты распознаются во время выполнения.