Size: a a a

2021 April 23

SK

Sergio Keler in SPb Python
Эээ... не понял. Можно.
Импорт роутерс
Импорт роутерс.усерс
источник

DS

David Shiko in SPb Python
То есть на практике питон позволяет импортировать только конечный файл, но не директорию.
Было бы удобно обращаться к директории как у модулю. routers.users.some_class и т.п.
источник

SK

Sergio Keler in SPb Python
Ну да. Но вот :)
источник

DS

David Shiko in SPb Python
А на что __init__.py в этих директориях влияет? Или в даннос случае он не у дел?
источник

YV

Yuliya Volkova in SPb Python
если у тебя что-то прописано в init, который лежит в директории routers, то ты сможешь это импортировать из routers как из модуля
источник

YV

Yuliya Volkova in SPb Python
например, если ты пропишешь в __init__.py функцию def funct_from_init(): pass то ты сможешь ее импортнуть from routers import funct_from_init
источник

YV

Yuliya Volkova in SPb Python
routers.users  # fail - тут надо смотреть что конкретно за ошибка, может у тебя так рекурсия и падает из-за нее, а не из-за того что модуль не видит
источник

YV

Yuliya Volkova in SPb Python
директория для питона это пэкадж
источник

YV

Yuliya Volkova in SPb Python
если там лежат py модули
источник

DS

David Shiko in SPb Python
Точно не рекурсия. Обычная ошибка (вроде) была. Т.е. нужно импортировать users внуть __init__.py и тогда я смогу использовать директорию (routers) как модуль и писать routers.users.some_class ?
источник

YV

Yuliya Volkova in SPb Python
нет
источник

YV

Yuliya Volkova in SPb Python
routers.users - это ты уже на конкретный модуль указываешь
источник

SK

Sergio Keler in SPb Python
При импорт роутерс у тебя выполняется инит.пу
источник

YV

Yuliya Volkova in SPb Python
чтобы просто из роутерс импортировать тогда должно быть routers.some_class
источник

DS

David Shiko in SPb Python
Ошибка:

In [11]: !(tree -L 2 -I "*pyc*" routers/)                                                                                                                                                                                                                                         
routers/
├── assignments.py
├── auth.py
├── claims.py
├── clinics.py
├── employees.py
├── __init__.py
├── operators.py
├── tickets.py
└── users.py

0 directories, 9 files

In [12]: import routers                                                                                                                                                                                                                                                          

In [13]: routers.users                                                                                                                                                                                                                                                            
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-13-098660c06eda> in <module>
----> 1 routers.users

AttributeError: module 'routers' has no attribute 'users'

In [14]: !cat routers/__init__.py                                                                                                                                                                                                                                                
#! /bin/bash
In [15]:
источник

YV

Yuliya Volkova in SPb Python
ipython ))
источник

YV

Yuliya Volkova in SPb Python
я пасс
источник

П

Павел in SPb Python
Привет!
Частично прочёл набор сообщений ниже; вероятно, подробный ответ можно найти начиная со страницы 198 здесь, прочитав про "Пакеты"
источник

DS

David Shiko in SPb Python
Спасибо
источник

П

Павел in SPb Python
более лучшего и короткого объяснения о нюансах импортирования не встречал; если удастся обнаружить, делись)
источник