¿Por qué una importación no siempre importa paquetes nesteds?

¿Por qué el primer código no funciona mientras que el segundo no funciona?

Primer codigo

import selenium driver = selenium.webdriver.Firefox() 

AttributeError: el objeto ‘módulo’ no tiene atributo ‘webdriver’

Segundo código:

 from selenium import webdriver driver = webdriver.Firefox() 

Los paquetes nesteds no se cargan automáticamente; no hasta que importe selenium.webdriver está disponible como atributo. Importar solo selenium no es suficiente.

Hacer esto:

 import selenium.webdriver driver = selenium.webdriver.Firefox() 

A veces, el paquete en sí importará un paquete nested en el inicializador de paquete __init__.py ; os importa os.path , por lo que os.path está disponible de forma inmediata incluso si solo importa el sistema operativo.