Path Seperator ändern

Hallo, ich nutze für den Aufbau von Pfaden os.path.sep aber ich benötige für eine spezielle Anwendung einen anderen Seperator. Wie kann ich den diesen ändern? Danke Phil

On 10/30/12 6:55 PM, "Philipp Kraus" <philipp.kraus@flashpixx.de> wrote:
Hallo,
ich nutze für den Aufbau von Pfaden os.path.sep aber ich benötige für eine spezielle Anwendung einen anderen Seperator. Wie kann ich den diesen ändern?
Eigentlich benutzt man ueblicherweise os.path.join. Aber egal. Der entscheidende Punkt bei deiner Frage ist: was ist falsch an "<mein-super-separator>".join(meine_liste_von_pfadbestandteilen) ? os.path.sep zu aendern hätte wahrscheinlich katastrophale Folgen, weil das eine globale Konstante ist, auf die aller möglicher Code sich verlässt. Diez

On 30.10.2012 19:00, Diez Roggisch wrote:
On 10/30/12 6:55 PM, "Philipp Kraus" <philipp.kraus@flashpixx.de> wrote: was ist falsch an
"<mein-super-separator>".join(meine_liste_von_pfadbestandteilen)
?
os.path.sep zu aendern hätte wahrscheinlich katastrophale Folgen, weil das eine globale Konstante ist, auf die aller möglicher Code sich verlässt.
Wenn du auf Unix-like Systemen Windowspfade und vice-versa verarbeiten musst, kannst du folgendes machen: >>> from posixpath import join as posixjoin >>>> from ntpath import join as ntjoin >>> posixjoin('foo', 'bar', 'baz') 'foo/bar/baz' >>> ntjoin('foo', 'bar', 'baz') 'foo\\bar\\baz' Das os-Modul importiert auch nur eins dieser beiden Module, je nach nach System (Exoten System mal außen vor gelassen). Chris

Am Dienstag, 30. Oktober 2012, 19:00:00 schrieb Diez Roggisch:
On 10/30/12 6:55 PM, "Philipp Kraus" <philipp.kraus@flashpixx.de> wrote:
Hallo,
ich nutze für den Aufbau von Pfaden os.path.sep aber ich benötige für eine spezielle Anwendung einen anderen Seperator. Wie kann ich den diesen ändern?
Eigentlich benutzt man ueblicherweise os.path.join. Aber egal. Der entscheidende Punkt bei deiner Frage ist: was ist falsch an
"<mein-super-separator>".join(meine_liste_von_pfadbestandteilen)
Wenn die Pfadbestandteile nicht anständig normalisiert sind, kann da schon was in die Hose gehen:
os.path.join("/", "/home", "/home/florian") '/home/florian'
"/".join(["/", "/home", "/home/florian"]) '///home//home/florian'
?
os.path.sep zu aendern hätte wahrscheinlich katastrophale Folgen, weil das eine globale Konstante ist, auf die aller möglicher Code sich verlässt.
Würde mich nicht überraschen, ja. Grüße, Florian
participants (4)
-
Christopher Arndt
-
Diez Roggisch
-
Florian Lindner
-
Philipp Kraus