Python 3.x: импорт функции, словарь конфигурации, ... et c. из файла в другом каталоге - PullRequest
0 голосов
/ 26 февраля 2020

Дерево папок моего проекта:

project:
|
| -- src:
        |--- dir_a:
            |--- file_a.py
        |--- dir_b:
            |--- file_b.py

Я хочу импортировать функцию, словарь конфигурации, ... et c. в file_a.py (текущий файл) из file_b.py

я нашел много ответов о пакетах и ​​модулях, но ничего о них не знаю, потому что пишу простые python файлы , Более того, я хочу отправить этот проект кому-нибудь, чтобы он использовал его на своем компьютере (запустив некоторые файлы .py из командной строки) без редактирования системного пути вручную или каких-либо других сложных решений.

1 Ответ

0 голосов
/ 29 февраля 2020

Я бы создал новый пакет, в котором есть dir_a и dir_b. Затем вам понадобится пустой файл __init__.py в каждом каталоге пакета.

src/
  |_ pkg/
      |_ __init__.py
      |_ dir_a/
          |_ __init__.py
          |_ file_a.py
      |_ dir_b/
          |_ __init__.py
          |_ file_b.py

Затем, при условии отсутствия циклических зависимостей, в file_a.py вы можете поместить любой из них:

import pkg.dir_b.file_b

# or

from pkg.dir_b.file_b import ...

# or

from pkg.dir_b import file_b
...