Estoy escribiendo un paquete python con módulos que necesitan abrir archivos de datos en un subdirectorio ./data/
. En este momento tengo las rutas a los archivos codificados en mis clases y funciones. Me gustaría escribir un código más robusto que pueda acceder al subdirectorio independientemente de dónde esté instalado en el sistema del usuario.Datos de acceso Python en el subdirectorio de paquete
He intentado una variedad de métodos, pero hasta ahora no he tenido suerte. Parece que la mayoría de los comandos del "directorio actual" devuelven el directorio del intérprete python del sistema, y no el directorio del módulo.
Parece que debería ser un problema común y trivial. Sin embargo, parece que no puedo resolverlo. Parte del problema es que mis archivos de datos no son archivos .py
, por lo que no puedo usar funciones de importación y similares.
¿Alguna sugerencia?
Ahora mismo mi directorio del paquete se parece a:
/
__init__.py
module1.py
module2.py
data/
data.txt
Estoy tratando de acceder data.txt
de module*.py
Gracias!
Esto no funcionará si los archivos están en una distribución (es decir, huevo). Use pkg_resources para obtener el archivo de datos. – Chris
De hecho, esto está roto. – Federico