tengo este paquete:pitón - importación absoluta para el módulo en el mismo directorio
mypackage/
__init__.py
a.py
b.py
Y quiero importar las cosas desde un módulo de al Módulo B, ¿tiene sentido escribir en el módulo B
from mypackage.a import *
o debo utilizar
from a import *
Ambas opciones funcionan, me pregunto que es mejor (el 2º marcas sentido porque está en el mismo nivel, pero estoy considerando el primero para evitar colisiones, por ejemplo, si el sistema se ejecuta desde una carpeta que contiene un archivo llamado a.py).
¿Y cómo sabes que lo que sea que 'a' realmente es no es una colisión con un built-in? Las importaciones relativas implícitas fueron asesinadas por alguna razón, no son seguras. – MatthewWilkes
Tiene razón, un módulo integrado simplemente se enmascarará con el que tenemos del mismo nombre. –
"Las pautas de estilo de Python no recomiendan el primer enfoque:" Para mí, parece que recomiendan el 1er "Usar siempre la ruta absoluta del paquete para todas las importaciones" – banana