os.path.join("/home/", "/andy") = "

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

Der Titel sag ja schon alles.
Warum geht

Code: Alles auswählen

os.path.join("/home", "andy")
und

Code: Alles auswählen

os.path.join("/home/", "andy")
aber nicht:

Code: Alles auswählen

os.path.join("/home", "/andy")
und

Code: Alles auswählen

os.path.join("/home/", "/andy")


Ist das wirklich so gewollt, wenn ja mit welcher Logik?

Gruß
Andyh
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys

if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Python docs hat geschrieben:Join two or more pathname components, inserting '/' as needed.
If any component is an absolute path, all previous path components
will be discarded
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Wie sollen auch zwei absolute Pfadnamen zusammengesetzt werden? Bei deinem Beispiel kann ein menschlicher Leser zwar raten, was du willst, aber was ist z.B. mit /home/rbreu und /bin?
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

Man das ging ja schnell!

Gut das leuchtet ein, ist aber trotzdem doof, weil ich jetzt immer erst nach einem "/" oder "\\" am Anfang suchen muss.

Gruß
Andyh
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys

if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Benutzeravatar
/me
User
Beiträge: 3556
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Andyh hat geschrieben:Gut das leuchtet ein, ist aber trotzdem doof, weil ich jetzt immer erst nach einem "/" oder "\" am Anfang suchen muss.
Wenn du sicher bist, dass die Folgeparameter keine absoluten Pfade sein sollen, dann lass den ersten Parameter unverändert und bearbeite die anderen mit strip().
Antworten