Pfade für gesamtes Projekt festlegen
Verfasst: Montag 16. November 2015, 20:39
Hallo,
bin seit einiger Zeit an einem ersten Python-Projekt und stehe vor folgender Frage:
Mein Projekt ist etwa so aufgebaut:
Ich muss nun öfter mal Dateien aus dem Input-Ordner auslesen/in den Output und Exchange-Ordner schreiben usw.
Bisher definiere ich dafür in jedem Python-Skript die Ordner in etwa so:
Das funktioniert auch, aber jetzt würde ich gerne wissen wie es richtig geht.
Kann ich diese Pfade irgendwie global für das ganze Projekt festlegen?
Natürlich bin ich schon ein paar mal über die PATH und PYTHONPATH-Variablen gestolpert, aber so wie ich es verstanden habe, sind diese dazu gut, "Suchpfade" für Module festzulegen. Ich muss dagegen eher Pfade zum Dateiaustausch festlegen. Diese sollten dann jedem Skript/jeder Funktion im Projektordner zur Verfügung stehen.
Würde mich über Hilfestellung freuen. Danke!
bin seit einiger Zeit an einem ersten Python-Projekt und stehe vor folgender Frage:
Mein Projekt ist etwa so aufgebaut:
Code: Alles auswählen
Hauptverzeichnis
|---input-ordner
|---modul-ordner
| |---modul1
| |---modul2
| |---austauschordner
|
|---outputdirBisher definiere ich dafür in jedem Python-Skript die Ordner in etwa so:
Code: Alles auswählen
import os
THIS_MODULE_PATH = os.path.abspath(os.path.dirname(__file__)) # Pfad zum Ordner, in dem diese Datei liegt
MODULES_PATH = os.path.dirname(THIS_MODULE_PATH) # Pfad zum Elternordner von THIS_MODULE_PATH
PROJECT_PATH = os.path.dirname(MODULES_PATH) # Pfad zum Elternordner von MODULES_PATH
INPUT_FILES_PATH = os.path.join(PROJECT_PATH, 'input_files')
OUTPUT_FILES_PATH = os.path.join(PROJECT_PATH, 'output_files')
FILEXCHANGE_PATH = os.path.join(MODULES_PATH, 'modules_file_exchange')
Kann ich diese Pfade irgendwie global für das ganze Projekt festlegen?
Natürlich bin ich schon ein paar mal über die PATH und PYTHONPATH-Variablen gestolpert, aber so wie ich es verstanden habe, sind diese dazu gut, "Suchpfade" für Module festzulegen. Ich muss dagegen eher Pfade zum Dateiaustausch festlegen. Diese sollten dann jedem Skript/jeder Funktion im Projektordner zur Verfügung stehen.
Würde mich über Hilfestellung freuen. Danke!