Curiosamente, importar os.path importará todos los sistemas operativos. intente lo siguiente en el mensaje interactivo:
import os.path
dir(os)
El resultado será el mismo que si acaba de importar el sistema operativo. Esto se debe a que os.path se referirá a un módulo diferente según el sistema operativo que tenga, por lo que python importará os para determinar qué módulo cargar para la ruta.
referencia
Con algunos módulos, decir import foo
no expondrá foo.bar
, así que supongo que realmente depende del diseño del módulo específico.
En general, solo importar los módulos explícitos que necesita debería ser marginalmente más rápido. En mi máquina
import os.path
: 7.54285810068e-06
segundos
import os
: 9.21904878972e-06
segundos
Estos tiempos son lo suficientemente cercanos como para ser bastante insignificantes. Es posible que su programa necesite usar otros módulos desde os
ahora o más adelante, por lo que generalmente tiene sentido sacrificar los dos microsegundos y usar import os
para evitar este error en un momento posterior. Por lo general, me inclino por importar el sistema operativo en su conjunto, pero puedo ver por qué algunos preferirían import os.path
ser técnicamente más eficientes y transmitir a los lectores del código que esa es la única parte del os
módulo que deberá usarse. Esencialmente se reduce a una pregunta de estilo en mi mente.