Seite 1 von 1

Verzeichnispfad aus Liste - eine Ebene nach oben

Verfasst: Freitag 19. März 2021, 10:33
von LeoPold
Hallo Zusammen,

ich habe mir eine Liste mit Verzeichnispfaden erstellt.
In diesen Pfaden suche ich nach bestimmten Dateien, wenn eine davon gefunden wurde wird das ganze Verzeichnis verschoben.
Jetzt möchte ich überprüfen, ob der Ordner in dem das verschobene Verzeichnis war leer ist, damit ich diesen auch löschen kann.

Um hier eine Ebene nach oben zu kommen behelfe ich mir indem ich mir den ursprünglichen Pfad des verschobenen Verzeichnisses hole und mit .rsplit("\\", 1) das verschobene Verzeichnis abschneide.

Code: Alles auswählen

ein_verzeichnis_hoeher = verzeichnis_pfad[0].rsplit("\\", 1)
print(ein_verzeichnis_hoeher[0])
Gibt es da eventuell bessere Lösungen?

Vielen Dank
LeoPold

Re: Verzeichnispfad aus Liste - eine Ebene nach oben

Verfasst: Freitag 19. März 2021, 10:45
von Sirius3
Pfade vermurkst man nicht mit Stringoperationen.
Benutze pathlib.Path. Dort ist alles dabei, was Du brauchst.
Das wurde Dir doch schon alles in Deinem anderen Thread gesagt.

Re: Verzeichnispfad aus Liste - eine Ebene nach oben

Verfasst: Freitag 19. März 2021, 11:31
von LeoPold
Ok, danke.
Ich benutze ein Buch indem das pathlib-Modul nicht erklärt wird.
Ich werde mich jetzt Online eingehender mit dem pathlib-Modul beschäftigen, damit ich die Funktionen lerne und meine bereits bestehenden Programme umschreibe.
Für diejenigen die vielleicht auch einmal so ein Problem haben, hier die Lösung:

Code: Alles auswählen

import pathlib
print(verzeichnis_pfad.parent)

Re: Verzeichnispfad aus Liste - eine Ebene nach oben

Verfasst: Freitag 19. März 2021, 11:48
von einfachTobi
Ergänzend: Die Python-Dokumentation ist immer einen Blick wert https://docs.python.org/3/library/pathlib.html.