Ich möchte nur den Ordnerpfad vom vollständigen Pfad zu einer Datei erhalten.
Zum Beispiel T:\Data\DBDesign\DBDesign_93_v141b.mdb
und ich möchte nur T:\Data\DBDesign
(ohne die \DBDesign_93_v141b.mdb
) bekommen.
Ich habe so etwas versucht:
existGDBPath = r'T:\Data\DBDesign\DBDesign_93_v141b.mdb'
wkspFldr = str(existGDBPath.split('\\')[0:-1])
print wkspFldr
aber es gab mir ein Ergebnis wie dieses:
['T:', 'Data', 'DBDesign']
Das ist nicht das Ergebnis, das ich brauche T:\Data\DBDesign
.
Irgendwelche Ideen, wie ich den Pfad zu meiner Datei finden kann?
os.sep.join(existGDBPath.split(os.sep)[:-1]
sieht hübscher aus.MIT PATHLIB-MODUL (AKTUALISIERTE ANTWORT)
Man sollte in Betracht ziehen, pathlib für neue Entwicklungen zu verwenden. Es befindet sich in der stdlib für Python3.4, ist jedoch für frühere Versionen auf PyPI verfügbar . Diese Bibliothek bietet eine objektorientiertere Methode zum Bearbeiten von Pfaden
<opinion>
und ist viel einfacher zu lesen und zu programmieren</opinion>
.MIT OS-MODUL
Verwenden Sie das Modul os.path :
Sie können davon ausgehen, dass, wenn Sie eine Dateinamenmanipulation durchführen müssen, diese bereits implementiert wurde
os.path
. Wenn nicht, müssen Sie dieses Modul wahrscheinlich immer noch als Baustein verwenden.quelle
Path().parent
was ich gesucht habe!Das eingebaute Submodul os.path hat genau für diese Aufgabe eine Funktion.
quelle
Hier ist der Code:
quelle
Hier ist mein kleiner Hilfsprogramm zum Aufteilen von Pfaden in Datei- und Pfadtoken:
quelle
Jeder, der dies in der Feldrechnerschnittstelle der ESRI GIS-Tabelle versucht, kann dies mit dem Python-Parser tun :
PathToContainingFolder =
damit
\ Benutzer \ me \ Desktop \ Neuer Ordner \ file.txt
wird
\ Benutzer \ me \ Desktop \ Neuer Ordner
quelle