Некоторые файлы Python не могут быть импортированы как модульPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Некоторые файлы Python не могут быть импортированы как модуль

Сообщение Anonymous »

Мне нужно импортировать каталог как модуль в Python. Я не могу импортировать файл по отдельности, чтобы избежать циклического импорта. однако в модуле доступна только часть файла.
вот моя структура каталога:

Код: Выделить всё

./database
├── connection.py
├── exception.py
├── __init__.py
├── model
│   ├── ddd.py
│   ├── __init__.py
│   ├── model_abstract.py
│   ├── __pycache__
│   │   ├── __init__.cpython-313.pyc
│   │   ├── model_abstract.cpython-313.pyc
│   │   ├── model.cpython-313.pyc
│   │   ├── role.cpython-313.pyc
│   │   ├── session.cpython-313.pyc
│   │   └── user.cpython-313.pyc
│   ├── role.py
│   ├── session.py
│   └── user.py
└── __pycache__
├── connection.cpython-313.pyc
├── exception.cpython-313.pyc
└── __init__.cpython-313.pyc

4 directories, 18 files

когда я импортирую из файла user.py

Код: Выделить всё

from database import model
print(dir(model))
x = model.role.Role.get_by_id(1)
Я получил эту ошибку:

Код: Выделить всё

AttributeError: module 'database.model' has no attribute 'role'

Код: Выделить всё

from database import model
print(dir(model))
не является одним из атрибутов, тогда как model_abstract, session, user являются

Код: Выделить всё

['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', 'model_abstract', 'session', 'user']
этот код работает нормально

Код: Выделить всё

model.session.UserSession.get_by_user_id(1)
Что происходит?
ps. role.py вручную импортирован куда-то еще. с этим файлом работает нормально, с этим нет.

Подробнее здесь: https://stackoverflow.com/questions/793 ... s-a-module
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»