Wenn mehrere Verzeichnisse wie in einem ausführbaren Suchpfad verkettet werden müssen, gibt es ein os-abhängiges Trennzeichen. Für Windows ist es ';'
, für Linux ist es ':'
. Gibt es in Python eine Möglichkeit, den zu teilenden Charakter zu ermitteln?
In den Diskussionen zu dieser Frage Wie finde ich meinen Python-Pfad mithilfe von Python heraus? , es wird vorgeschlagen, dass os.sep
es tun wird. Diese Antwort ist falsch, da sie das Trennzeichen für Komponenten eines Verzeichnisses oder Dateinamens ist und '\\'
oder entspricht '/'
.
python
operating-system
environment-variables
Mark Ransom
quelle
quelle
os.sep
oderos.path.sep
ist das, was Sie für Dateisystempfade benötigen.os.pathsep
ist:
oder;
währendos.path.sep
ist\\
oder/
- manchmal scheinen mir die Namen in Python schockierend schlecht gewählt zu sein. Das.
macht einen viel zu großen Unterschied.os.sep
undos.path.sep
, die gleich sind, sowieos.pathsep
undos.path.pathsep
die auch gleich sind. Warum sollten sie das tun?Es ist os.pathsep
quelle
Machen Sie es etwas expliziter (Für Python-Neulinge wie mich)
quelle
OK, es gibt also:
os.pathsep
das ist;
und was ein Trennzeichen in derPATH
Umgebungsvariablen ist;os.path.sep
Das ist/
unter Unix / Linux und\
unter Windows, das ein Trennzeichen zwischen Pfadkomponenten ist.Die Ähnlichkeit ist eine Quelle der Verwirrung.
quelle
os.path.sep
ist die Antwort auf eine andere Frage.Dies ist ein Beispielpfad für Ihr Arbeitsverzeichnis / einen bestimmten Ordner.
Ausgabe für Linux-
/home/*******/Desktop/folder/PlayWithPy/src/testImages/imageHidden.png
Ausgabe für Windows-
C:\\Users\\Administrator\\Desktop\\folder\\tests\\testImages\\imageHidden.png
quelle