Ich schreibe ein Python-Paket mit Modulen, die Datendateien in einem ./data/
Unterverzeichnis öffnen müssen. Im Moment habe ich die Pfade zu den Dateien in meinen Klassen und Funktionen fest codiert. Ich möchte robusteren Code schreiben, der auf das Unterverzeichnis zugreifen kann, unabhängig davon, wo es auf dem System des Benutzers installiert ist.Python-Zugriffsdaten im Paket Unterverzeichnis
Ich habe eine Vielzahl von Methoden ausprobiert, aber bisher hatte ich kein Glück. Es scheint, dass die meisten der "aktuellen Verzeichnis" -Befehle das Verzeichnis des Python-Interpreters des Systems und nicht das Verzeichnis des Moduls zurückgeben.
Dies scheint wie ein triviales, häufiges Problem zu sein. Aber ich kann es nicht herausfinden. Teil des Problems ist, dass meine Dateien nicht .py
Dateien sind, so dass ich keine Importfunktionen und dergleichen verwenden kann.
Irgendwelche Vorschläge?
Gerade jetzt mein Paketverzeichnis wie folgt aussieht:
/
__init__.py
module1.py
module2.py
data/
data.txt
I data.txt
von module*.py
Dank zugreifen bin versucht!
Dies funktioniert nicht, wenn die Dateien in einer Distribution (IE. Ei) sind. Verwenden Sie pkg_resources, um an die Datendatei zu gelangen. – Chris
In der Tat ist das kaputt. – Federico