2009-09-30 10 views
134

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 einen Weg in Python, um herauszufinden, auf welchem ​​Charakter man sich teilen soll? In den Diskussionen zu dieser Frage How do I find out my python path using python? wird vorgeschlagen, dass os.sep es tun wird. Diese Antwort ist falsch, da es das Trennzeichen für Komponenten eines Verzeichnisses oder Dateinamens ist und '\\' oder '/' entspricht.Wie erhält man das Umgebungsvariablen-Trennzeichen PATH in Python?

Antwort

197
+203

Wenn, wie ich, Sie nicht den Körper nicht gelesen Diese Frage und nur der Titel, Sie werden denken, das ist das Zeichen, das Elemente eines ** Dateisystem-Pfades trennt ** (Schrägstrich bei Linux und MacOSX, Backslash unter Windows). Das ist es nicht, es ist der Charakter, der Elemente einer Shell trennt. ** PATH ** wird verwendet, um ausführbare Befehle zu lokalisieren. 'os.sep' oder' os.path.sep' ist das, was Sie für Dateisystempfade benötigen. – Perry

+63

'os.pathsep' ist': 'oder'; 'während' os.path.sep' '' '' '' '' '' '' '' '' '' '' 'manchmal erschrecken mich die Namen in Python. Dieses '.' macht einen zu großen Unterschied. – ArtOfWarfare

+0

Ist das die kürzeste Antwort auf SO? 100+ Stimmen für 10 Charaktere !! Okay, ich weiß, es ist 66. –

30

Es ist os.pathsep

+8

Was für ein Unterschied neun Sekunden macht :-) – paxdiablo

10

es ein wenig mehr explizit (für Python Neulinge wie mich) zu machen

import os 
print(os.pathsep) 
Verwandte Themen