La pregunta
me gustaría saber si hay una convención estándar para la denominación de los directorios de Python que planean ser importado como un módulo. Es decir, el directorio contiene un espacio en blanco __init__.py
Convenciones de nombres típicos para Python directorios en Paquetes
Antecedentes
Hasta hace poco me he dado poca importancia y nombrado exclusivamente sobre la base de lo que tenía sentido a nivel de sistema de archivos. Lo que me metió en problemas es que lo que tenía sentido a nivel del sistema de archivos también tenía sentido para los módulos independientes de otros desarrolladores. Consideremos el siguiente directorio:
+ drivers
+ prologix
- __init__.py
- driver_a.py
- driver_b.py
+ visa
- __init__.py
- driver_a.py
- driver_b.py
__init__.py
ringout.py <-- simple file to ring-out the drivers
Si bien esto funcionó bien cuando suena a cabo los conductores de la ProLogix, me encontré con un problema al intentar importar mis conductores de visado, así como el módulo 'visado' de pyVisa. Fue muy fácil diagnosticar el problema, pero la solución para cambiar el nombre de la carpeta del controlador de mi visa a 'visa_dir' hace que el código sea más difícil de leer (IMO).
import drivers.visa
vs
import drivers.visa_dir
¿Hay una mejor manera de manejar esto?
Para agregar a esto, vea [esta publicación en el blog] (http://griddlenoise.blogspot.com/2006/10/namespace-packages-in-python.html) y [PEP 221] (http: // www .python.org/dev/peps/pep-0221 /). – voithos
+1 para importaciones absolutas Realmente no pensé en eso. Esto mostrará algo de mi novedad en Python, pero ¿qué hay de los módulos integrados? ¿Hay alguna manera similar de importarlos de la misma manera? Tomemos las matemáticas como ejemplo (una de las más genéricas que podría pensar). –
Claro que puedes usar los mismos trucos de importación en la biblioteca estándar. – zeekay