Seite 2 von 2

Re: Dateien auflisten

Verfasst: Montag 9. Mai 2022, 15:19
von Bebbi
So, das Problem konnte ich lösen. Manchmal findet man vor lauter Bäumen den Wald nicht mehr. Ich mache die Sortierung jetzt zu beginn, was definitiv auch mehr Sinn macht.

Eine Kleinigkeit habe ich aber noch. Bei einigen Ordnern habe ich eine abweichende Anzahl Ordner. Das heisst ich kann an einem Ort folgendes Bild haben:

1. Offerten
2. Bestellungen
3. Ausführungen

und bei anderen folgende Struktur der Ordnernamen

1. Offerten
2. Bestellungen
3. Reklamationen
4. Ausführungen

Ich sollte nun beim Filter einbauen, dass er mir nicht strickt nach dem Namen des Ordners z.B. "3. Ausführungen" sondern nur nach einem Teil des Namens z.B. "Ausführungen". Wie kann ich das machen?

Re: Dateien auflisten

Verfasst: Montag 9. Mai 2022, 15:37
von Sirius3
Ich verstehe nicht wirklich, was Du nun machen willst.
Kannst Du für jeden Fall ein einfaches Beispiel posten, Verzeichnislisting vorher und nachher.

Re: Dateien auflisten

Verfasst: Montag 9. Mai 2022, 16:07
von Bebbi
Also ich habe folgenden Code zur Verteilung meiner Dateien:

Code: Alles auswählen

from pathlib import Path

BASEPATH = Path("C:/Users/Startklar/Desktop/Belege")
FILTERS = [
    ("XBIT", "233-00408710", "Jahr 2022", "3.Ausführungen"),
]

def main():
    for place, number in FILTERS:
        destination = BASEPATH / place / number
        for sourcefile in BASEPATH.glob(f"*{number}*.pdf"):
            sourcefile.rename(destination / sourcefile.name)

if __name__ == "__main__":
    main()
Damit verschiebt er mir die Datei ganz genau in die entsprechenden Ordner und am Schluss in "3. Ausführungen". Es gibt aber nun einige wenige Order, in welchem der Ordner "Ausführungen" nicht die Nummer 3 sondern die Nummer 4 hat. Das heisst er müsste nur nach dem Wort "Ausführungen" suchen und die Datei dort ablegen und nicht nach "3. Ausführungen" weil es das nicht gibt.

Re: Dateien auflisten

Verfasst: Montag 9. Mai 2022, 17:56
von Sirius3
Der Code funktioniert so gar nicht, weil FILTERS aus 4-Tuplen besteht, Du aber nur 2 Variablen angibst.
Aber natürlich kannst Du per glob auch den Zielordner finden.

Re: Dateien auflisten

Verfasst: Mittwoch 11. Mai 2022, 08:28
von Bebbi
Danke, das habe ich bemerkt und behoben.

Aber noch einmal die Frage, wie muss ich den Code formatieren, dass er mir nur das "Ausführungen" sucht und nicht auch nach der Nummerierung?

Re: Dateien auflisten

Verfasst: Mittwoch 11. Mai 2022, 18:03
von Sirius3
Wie ich schon schrieb, ist `glob` die Lösung.