Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / PHP, Perl, Python |
![]() ![]() |
AlekseySQL Member Откуда: Сообщений: 952 |
Хочу сделать различные пакеты максимально независимыми, поэтому решил в каждом из них использовать файл __init__ для указания общей для пакета специфики (константы, общие объекты....). Но мне приходится писать смешной код в духе: from Database.Tables import __init__ as init Неужели нельзя в пакете использовать его объекты из файла инициализации без дополнительных плясок с бубном? |
30 янв 19, 15:16 [21797884] Ответить | Цитировать Сообщить модератору |
AlekseySQL Member Откуда: Сообщений: 952 |
Разместил глобальные переменные в __init__ для каждого пакета. Теперь при попытке обращения к этим атрибутам получаю ошибку:AttributeError: 'method-wrapper' object has no attribute 'FormsDirectory' В файле __init__ пакета Forms присутствует единственная строка:
FormsDirectory = '/home/alesha/eclipse-workspace/AnalysisData/Forms/'
В другом файле (где хочу использовать эту переменную): from Forms import __init__ as MyForms d = MyForms.FormsDirectory // ТУТ ОШИБКА !!! Посмотрел в отладчике: действительно переменная MyForms имеет тип method-wrapper и никаких переменных у нее нет... Что за хрень? Ведь это обычный модуль! |
3 фев 19, 16:32 [21800811] Ответить | Цитировать Сообщить модератору |
Лысый дядька Member Откуда: Сообщений: 356 |
AlekseySQL, Алексей, когда вы уже наконец перестанете маяться дурью и прочитаете хоть какой-нибудь учебник по питону? |
4 фев 19, 08:10 [21801001] Ответить | Цитировать Сообщить модератору |
AlekseySQL Member Откуда: Сообщений: 952 |
Напишите, пожалуйста, учебник, в котором рассмотрен именно этот вопрос. |
||
4 фев 19, 09:14 [21801027] Ответить | Цитировать Сообщить модератору |
AlekseySQL Member Откуда: Сообщений: 952 |
Всем спасибо, оказывается с __init__ надо делать так:
import Forms
d = Forms.FormsDirectory
|
4 фев 19, 09:27 [21801036] Ответить | Цитировать Сообщить модератору |
Лысый дядька Member Откуда: Сообщений: 356 |
В любом учебнике подробно рассмотрен этот вопрос. Вы же ни одного не читали. Вам лень или вы слегка туповаты? |
||
4 фев 19, 09:36 [21801044] Ответить | Цитировать Сообщить модератору |
Лысый дядька Member Откуда: Сообщений: 356 |
Оказывается!!! Вот это открытие! |
||
4 фев 19, 09:36 [21801045] Ответить | Цитировать Сообщить модератору |
NekZ Member Откуда: Stuttgart, Baden-Württemberg. Сообщений: 3568 |
И это написано в любом учебнике по питону. Следовательно, учебник ты не читал. С C++ у тебя такая же история. |
||
4 фев 19, 09:46 [21801049] Ответить | Цитировать Сообщить модератору |
Все форумы / PHP, Perl, Python | ![]() |