Dateien sortieren



  • @wob sagte in Dateien sortieren:

    Es könnte ein anderer Prozess in der Zwischenzeit das Verzeichnis erzeugen. Bei Dateisystemoperationen immer: versuchen es zu tun, dann Fehler behandeln.

    Außerdem gibt es in Python doch die schöne Regel: it’s easier to ask for forgiveness than permission

    Also macht man in der Regel in Python es eig. immer so rum auch bei anderen sachen 🙂


  • Mod

    Das gilt auch für ALLE anderen Sprachen. Wenn man nicht alleiniger Exklusivbesitzer einer Ressource ist, sind Vorprüfungen eine Race-Condition, die einen früher oder später einholen wird.

    Und selbst als Exklusivbesitzer könnte immer noch der Computer explodieren zwischen Vorprüfung und Ausführung. Aber dann hat man vielleicht andere Probleme 🙂



  • @Leon0402

    Also macht man in der Regel in Python es eig. immer so rum auch bei anderen sachen 🙂

    @SeppJ sagte in Dateien sortieren:

    Das gilt auch für ALLE anderen Sprachen.

    Eben nicht. In vielen Sprachen macht man das nur für Ressourcen oder ähnliche Dinge. In Python verwendet man dieses Pattern viel viel mehr.

    In C++ würdest du eher nicht schreiben:

    try {
       result = my_map.at(key);
    } catch (const std::out_of_range (=KeyError in Python) &e) {
       result = fn_not_exists(key);
    }
    

  • Mod

    Das meinte ich auch nur in Bezug auf geteilte Ressourcen. Aber erstaunlich viele Dinge sind eine geteilte Ressource.



  • @SeppJ sagte in Dateien sortieren:

    Das meinte ich auch nur in Bezug auf geteilte Ressourcen. Aber erstaunlich viele Dinge sind eine geteilte Ressource.

    Es klang aber so als hättest du jemanden korrigiert, der gesagt hätte, dass das nur für Python gelten würde 😃

    Also nochmal: In allen Sprachen für Ressourcen, in Python auch für die meisten anderen Dinge so



  • Dann sind wir uns ja alle einig 🙂



  • @wob @SeppJ Da schreibt sonst niemand. Wenn doch hab' ich andere Probleme.


  • Mod

    @Swordfish sagte in Dateien sortieren:

    @wob @SeppJ Da schreibt sonst niemand. Wenn doch hab' ich andere Probleme.

    Das Trotzdem gute Praxis, immer alles richtig zu machen, dann macht man es ganz natürlich richtig, wenn man mal schwierige Probleme hat.

    Das denken immer alle, das bei ihnen niemals der Ausnahmefall eintreten wird. 6 Monate später ändert sich etwas und Bumm! Was wenn dein eigenes Programm 2x läuft?

    Oder wenn du noch ein Programmlogikargument willst: Was willst du mit der Prüfung überhaupt erreichen, was durch "einfach machen" nicht einfacher und besser abgedeckt ist? Schließlich ist der gefährliche Code ja sogar komplizierter.



  • Ich habe nun ein ähnliches Problem und möchte ein Git-Repo aufräumen. Es gibt pdf-Dateien, txt-Dateien, md-Dateien und jpg-Dateien, alle unsortiert in einem Ordner. Ich möchte nun diese Dateien je nach Endung in entsprechende Unterordner verschieben. Zusätzlich soll es je nach Änderungsdatum Unterordner nach dem Muster yyyy-mm geben, die Dateien sollen also auch nach ihrem Änderungsmonat einsortiert werden. Der Dateiname soll sich nicht ändern.

    Wie mache ich das am geschicktesten? Habe Gitea im Einsatz.



  • @Fragender sagte in Dateien sortieren:

    Habe Gitea im Einsatz.

    Genauer gesagt stehen als Workflow-Werkzeuge Ubuntu, bash und apt zur Verfügung - also alles, was man sich nur wünschen kann! ... Ich bin aber kein bash Profi. 😞

    Gitea hat jetzt Runner integriert. 😉 🍵


Anmelden zum Antworten