0
0 комментариев

Не могу разобраться в системе импортов.
Почему когда я делаю:

import os.path

то мне доступен os.walk, который находится в os, хотя я явно не импортирую os? Почему-то со своими package такой финт не прокатывает. За счет чего это происходит?

upd

Я понимаю, что импорт вносит импортируемое в пространство имен модуля.
поэтому определив модуль ‘myutils.py’ c

import requests

в другом модуле получается следущая картина

import myutils
resp=myutils.requests.get('http://ya.ru') # работает
resp2=requests.get('http://ya.ru') #  NameError: name 'requests' is not defined

Есть какая то особенность в механизме import os в os.path? Я понимаю, что os.path есть часть os, а не 2 абсолютно отдельных package, но хочу точно понять механизм.


Добавить комментарий