wake-up-neo.com

Wie bekomme ich das PATH-Umgebungsvariablen-Trennzeichen in Python?

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 eine Möglichkeit in Python zu ermitteln, auf welche Zeichen aufgeteilt werden soll?

In den Diskussionen zu dieser Frage Wie finde ich meinen python -Pfad mit Python heraus? wird vorgeschlagen, dass os.sep werde es tun. Diese Antwort ist falsch, da sie das Trennzeichen für Komponenten eines Verzeichnisses oder Dateinamens ist und '\\' Oder '/' Entspricht.

150
Mark Ransom
215
SilentGhost

Es ist os.pathsep

32
Dave Costa

Machen Sie es etwas expliziter (Für python Neulinge wie ich)

import os
print(os.pathsep)
12
Nerrve

OK, es gibt also:

  • os.pathsep das ist ';' und welches ein Trennzeichen in der Umgebungsvariablen% PATH% ist;
  • os.path.sep ist '/' in Unix/Linux und '\' in Windows, was ein Trennzeichen zwischen den Pfadkomponenten darstellt.

Die Ähnlichkeit der beiden Namen ist offenbar ein Grund für Verwirrung.

1
DVV

Dies ist ein Beispielpfad für Ihr Arbeitsverzeichnis/einen bestimmten Ordner -

import os
 my = os.path.sep+ "testImages" + os.path.sep + "imageHidden.png"
 print(my)

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

0