ich bin gerade dabei meine Verzeichnisstruktur zu überdenken, und bräuchte dabei euren Rat. Immerhin habt ihr einige Projekte geschrieben und könnt mir dann sagen, welche Struktur sich am besten einigt. Wie ich auf diese Fragestellung kommt erkläre ich später. Zunächst einmal möchte ich euch meine bisherige Struktur vorstellen.
Elternverzeichnis

Im Ordner licences wird die Text-Datei der GPL2-Lizenz gespeichert, die dann auch im Programm geöffnet wird. In settins werden die Einstellungs-Datei (config.ini) gespeichert. Ich möchte diese Einstellungs-Datei "außerhalb" der Module speichern. Warum? Der Anwender soll seine Einstellungs-Datei schnell finden, ohne in den anderen Dateien rumwuschen zu müssen. Und in temp soll die heruntergeladene Datei zunächst zwischengespeichert werden. Ich denke da zum Beispiel an Updates. Und in files sind die Module, GUI-Dateien etc - also das Herzstück des "Projektes". Und zum Schluss sehen wir noch drei einzelne Dateien: xarphus.bat, xarphus.py und xarphus.pyw. Ich denke da eher an Web-Programmierung. Man hat da immer eine Art Index-Datei, von dort aus wird das Programm also gestartet.
Strukturierung

Hier dachte ich kategorisiere ich einfach. Die ui-Dateien (GUI) kommen in den Ordner qt-ui, und die UI-Klassen kommen dann in modules_ui, und "normale" Module, in denen Funktionen sind, kommen dann in modules, die Bilder kommen dann in images, in about steckt ein Modul, in welcher Informationen über die Anwendung steht - in Form von Dictionaries und dann noch languages - dort kommen die Sprachen rein.
Wie komme ich nun dazu, dass ich mein Verzeichnis überdenken möchte?
Nun, nehmen wir mal an, ich möchte in der GUI-Klasse ui_pp_about.py (dieses Modul ist im Ordner modules_ui) etwas importieren. Sagen wir, ich möchte ein Modul laden, in denen die Einstellungen in Form von Dictionaries gespeichert sind. Ich spreche hier von mod_Setting.py, dieses Modul liegt um Verzeichnis modules.
Dies würde dann bei mir wie folgt aussehen:
ui_pp_about.py
Code: Alles auswählen
from ..modules.mod_Settings import Configuration