Das erklärt aber nicht, warum Du Verzeichnisse der Form Monat/Jahr/Datei anlegst und nicht, wie es üblich ist Jahr/Monat/Datei.Bl3nder hat geschrieben: Montag 16. November 2020, 20:39 Das ist vorgegeben durch meine Software die auf dem Rechner läuft :Es werden über das Jahr Dateien erzeugt 2020_01 ..... und aus den wird einmal im Jahr eine Datei erzeugt die einfach nur .fertig.wrt heißt
Halb so viel Code hat auch halb so viele Fehler.Bl3nder hat geschrieben: Montag 16. November 2020, 20:39 Ich könnte die Funktion von aussen zweimal aufrufen mit jeweils unterschiedlichen Parametern [Pfaden] welchen unterschied macht den das genau
Ja.Bl3nder hat geschrieben: Montag 16. November 2020, 20:39 Um dein Beispiel abschließend zu verstehen sieht meine main funktion dann in etwa so aus
Verboten ist das nicht, aber unschön. Ich hatte es ja schonmal geschrieben: Wenn Du eine Biliothek benutzt, dann sucht man in deren Dokumentation nach der Funktionalität, die man braucht, und nicht in google.Bl3nder hat geschrieben: Montag 16. November 2020, 20:39 Das hatten wir ja beim letzten mal ist es auch verboten sich Sachen aus unterschiedlichen Bibliotheken zu benutzen
Die Konvention zur Benutzung von try-Except habe ich Dir ja schon gesagt: Exceptions werden dort abgefangen, wo man sie sinnvoll behandeln kann. Das ist auch schon der ganze Leitfaden. Und natürlich kommt es dann auf den Einzelfall an.
Wenn das wirklich Beispiele aus Deinem Buch sind, dann sind die Schrott. Eine Funktion, die eine offene Datei oder None zurückliefert, ist keine sinnvolle Funktion, also hat das try da absolut nichts zu suchen, weil man beim Aufrufer im Fehlerfall nochmal eine Fallunterscheidung braucht.Bl3nder hat geschrieben: Montag 16. November 2020, 20:39 In meinem Buch steht als Beispiel um zu erklären wie Try / except arbeitet:
An einfachen Beispielen kann man auch nicht die Benutzung in Komplexen Situationen lernen.
Falsch ist hier nicht die Verwendung von try, sondern dass Du an anderer Stelle nochmal eine Sonderbehandlung brauchst. Es ist also nur im Zusammenspiel mit der anderen Funktion falsch.Bl3nder hat geschrieben: Montag 16. November 2020, 20:39 Ich meine was ist anso schlimm und falschCode: Alles auswählen
try: for file in pfad_fertigdaten.iterdir (): if not (pfad_medium / file.name).exists (): if file.name not in ("Fertigdaten.wrt", "Fertigdaten_konsistenz.wrt", ".fertig.wrt"): fehlende_fertigdaten_auf_Medium.append (file.name) return fehlende_fertigdaten_auf_Medium except FileNotFoundError: print("Der Pfad zu den Fertigdaten kann nicht gefunden werden",pfad_fertigdaten)