Как сохранить модуль python и данные в каталоге и импортировать этот модуль с доступом к данным - PullRequest
1 голос
/ 09 мая 2020

setup

У меня есть следующая структура (напечатанная с использованием tree из проекта root):

└── stuff
    ├── __init__.py
    ├── mod.py
    └── stuff_data.py

Я хотел бы иметь возможность открыть i python из проекта root и выполните следующие действия:

import stuff.mod

Но в данный момент он не работает.

содержимое файла

Файлы имеют следующее содержимое:

stuff_data.py

paper = {"type_0": "lined", "type_1": "plain"}

mod.py

from stuff_data import paper

def f():
    """print something...
    """
    print(paper)

Когда я пробую следующее (из проекта root)

import stuff.mod

Я получаю сообщение об ошибке

----> 1 from stuff_data import paper
      2
      3
      4 def f():
      5     """print x + 1

ModuleNotFoundError: No module named 'stuff_data'

Мне тоже интересно - как мне структурировать вещи, чтобы я мог использовать их так, как я ' ve изложено выше. Или - что делать взамен.

1 Ответ

1 голос
/ 09 мая 2020

Ваш mod.py импорт файла должен быть относительным импортом:

from .stuff_data import paper

ИЛИ

абсолютным импортом, начиная с root проекта:

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