Seite 1 von 1

os.path.join verschluckt angaben?

Verfasst: Donnerstag 25. November 2010, 19:09
von Gremlin
Kann mir eventuell jemand folgendes erklären? Denn ich steh grad aufm Schlauch, oder so...
Python 2.7 (r27:82525, Jul 4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> dst = u'C:\\das\\ziel'
>>> dst
u'C:\\das\\ziel'
>>> src = u'C:\\das\\ziel\\die\\quelle'
>>> src
u'C:\\das\\ziel\\die\\quelle'
>>> path = u'C:\\das\\ziel\\die\\quelle\\und_eben_nochn_ordner'
>>> path
u'C:\\das\\ziel\\die\\quelle\\und_eben_nochn_ordner'
>>> import os
>>> os.path.join(dst, path.replace(src, ''))
u'\\und_eben_nochn_ordner'
>>> os.path.join(dst, path.replace(src, u''))
u'\\und_eben_nochn_ordner'
>>> dst + path.replace(src, '')
u'C:\\das\\ziel\\und_eben_nochn_ordner'

Re: os.path.join verschluckt angaben?

Verfasst: Donnerstag 25. November 2010, 19:10
von cofi
Steht in der Doku: http://docs.python.org/library/os.path. ... .path.join

Was is fuer dich denn die Verknuepfung zweier absoluter Pfade?

Re: os.path.join verschluckt angaben?

Verfasst: Donnerstag 25. November 2010, 19:16
von Gremlin
Seit wann ist denn ein Pfad mit Backslash vorne dran absolut?
>>> path.replace(src, '')
u'\\und_eben_nochn_ordner'

Re: os.path.join verschluckt angaben?

Verfasst: Donnerstag 25. November 2010, 19:24
von cofi

Code: Alles auswählen

In [3]: import ntpath

In [4]: ntpath.isabs(r'\foo')
Out[4]: True
Schon immer wuerde ich sagen.

Re: os.path.join verschluckt angaben?

Verfasst: Donnerstag 25. November 2010, 19:34
von Gremlin
Ja, habs auch grad "gemerkt" als ich mir das ntpath Modul mal genauer angesehen hab.

Wow... mehr fällt mir grad nicht dazu ein. (Ach und hier fehlt eindeutig ein ganz bestimmter Smiley!)

Re: os.path.join verschluckt angaben?

Verfasst: Donnerstag 25. November 2010, 21:38
von ms4py
Ein Pfad mit Backslash ist bei Windows ein absoluter Pfad vom aktuellen Laufwerk aus, wenn mich nicht alles täuscht (mag jetzt aber nicht die VM anwerfen zum Testen...)