Форум сайта python.su
-1
Не могу разобраться как работает.
есть каталог:
каталог
__init__.py
файл1.py
файл2.py
from . import файл2
имя_файла = "это файл1"
def напечатать_имя_файла():
print(имя_файла)
Отредактировано MiK (Июль 13, 2015 13:12:14)
Офлайн
9
Офлайн
-1
Я это тоже видел, но ничего не понял.
Поидее, он должен искать относительно файла который я запустил лично. Но он говорит, что главный модуль не загружен, что-ли… Как ни пробую, всё та же самая ошибка.
Отредактировано MiK (Июль 13, 2015 14:33:24)
Офлайн
-1
Вот из книги Лутца:
Инструкция from . import A, например, ограничится поиском модуля в ката-
логе, содержащем файл, где находится эта инструкция.
Офлайн
39
import file_2
Офлайн
-1
4kpt_III
Ну это-же по абсолютному…
Нужет тот синтаксис, что в шапке.
Офлайн
39
MiKВам нужно импортировать или синтаксис?
Нужет тот синтаксис, что в шапке.
Отредактировано 4kpt_III (Июль 13, 2015 17:41:25)
Офлайн
-1
4kpt_III
Надо импортировать тем синтаксисом, просто чтобы разобраться в механизме. Заглянул, в пятое издание Лутца, но там вроде те же самые примеры. Ничего не могу понять. Может баг какой?
Офлайн
9
https://docs.python.org/3/tutorial/modules.html#intra-package-references
Note that relative imports are based on the name of the current module. Since the name of the main module is always “__main__”, modules intended for use as the main module of a Python application must always use absolute imports.
Отредактировано WoMax (Июль 13, 2015 18:50:10)
Офлайн
-1
Да, всё получилось, из шела, спасибо. Хотя вроде пробовал не из мэйна, а через другой файл, та же ошибка была. Наверно где-то не разобрался ещё.
Офлайн