Python Импорт файлов из других папок (в рамках одного проекта)? - PullRequest
0 голосов
/ 02 февраля 2019

плохо знаком с python и не понимает, как работает импорт.Я видел кое-что о том, как вы можете сделать sys.path.append, но я не хочу этого делать, потому что для этого нужно войти в систему контроля версий и запустить несколько разных компьютеров с разными путями.Как мне просто импортировать файл, который находится в другой папке, но в том же проекте?

Моя структура файла

- Project

  - FolderA
    - FileA.py

  - FolderB
    - SubfolderB
      - FileB.py

Как мне импортировать FileA.py, находясь внутри FileB.py?

Это не работает, потому что я получаю сообщение «Нет модуля с именем FolderA»:

from FolderA import FileA

class FileB():
...  

Ответы [ 2 ]

0 голосов
/ 02 февраля 2019

Сделайте ваши подпапки Python пакетов

Убедитесь, что только путь root находится на пути Python.

Еще лучше использовать стандартную разметку и использовать pip -e installs

См. this для отличной разметки.

Затем используйте абсолютный импорт, например, пакет импорта.subpackage.module или явные относительные, такие как import .module

0 голосов
/ 02 февраля 2019

Добавьте __init__.py в каждый каталог, чтобы превратить их в пакеты.Затем вы можете использовать относительный импорт, например, в fileb.py

from ..FolderA import FileA

См. Относительный импорт в миллиардный раз для подробного объяснения относительного импорта и того, как они работают в Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...