J'écris un paquet python avec des modules qui doivent ouvrir des fichiers de données dans un sous-répertoire ./data/
. En ce moment j'ai les chemins vers les fichiers codés en dur dans mes classes et fonctions. Je voudrais écrire du code plus robuste qui peut accéder au sous-répertoire, peu importe où il est installé sur le système de l'utilisateur.Données d'accès Python dans le sous-répertoire du paquet
J'ai essayé une variété de méthodes, mais jusqu'ici je n'ai pas eu de chance. Il semble que la plupart des commandes "répertoire courant" renvoient le répertoire de l'interpréteur python du système, et non le répertoire du module.
Cela semble être un problème trivial et courant. Pourtant, je n'arrive pas à comprendre. Une partie du problème est que mes fichiers de données ne sont pas .py
fichiers, donc je ne peux pas utiliser les fonctions d'importation et autres.
Des suggestions?
En ce moment, mon répertoire paquet ressemble à:
/
__init__.py
module1.py
module2.py
data/
data.txt
Je suis en train d'accéder data.txt
de module*.py
Merci!
Cela ne fonctionnera pas si les fichiers sont dans une distribution (IE. Utilisez pkg_resources pour obtenir le fichier de données. – Chris
En effet, c'est cassé. – Federico