Возможно ли открыть файл 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 

И из-за этого все пакеты распознаются во время выполнения.

Вернуться на верх