Curiosamente, a importação do os.path importará todo o os. tente o seguinte no prompt interativo:
import os.path
dir(os)
O resultado será o mesmo que se você tivesse importado os. Isso ocorre porque o os.path se refere a um módulo diferente com base em qual sistema operacional você possui, portanto, o python importará o os para determinar qual módulo carregar para o caminho.
referência
Em alguns módulos, o ditado import foo
não será exposto foo.bar
, então acho que depende realmente do design do módulo específico.
Em geral, apenas importar os módulos explícitos necessários deve ser um pouco mais rápido. Na minha máquina:
import os.path
: 7.54285810068e-06
segundos
import os
: 9.21904878972e-06
segundos
Estes tempos estão próximos o suficiente para serem razoavelmente insignificantes. Seu programa pode precisar usar outros módulos os
agora ou mais tarde; portanto, geralmente faz sentido sacrificar os dois microssegundos e usá-lo import os
para evitar esse erro posteriormente. Eu costumo lado apenas importando os como um todo, mas posso ver por que alguns preferem import os.path
ser tecnicamente mais eficientes e transmitir aos leitores do código que essa é a única parte do os
módulo que precisará ser usada. Essencialmente, tudo se resume a uma questão de estilo em minha mente.