Parsing a path to components
s0suk3 at gmail.com
s0suk3 at gmail.com
Sat Jun 7 05:15:07 EDT 2008
On Jun 7, 3:15 am, Marc 'BlackJack' Rintsch <bj_... at gmx.net> wrote:
> On Fri, 06 Jun 2008 23:57:03 -0700, s0suk3 wrote:
> > You can just split the path on `os.sep', which contains the path
> > separator of the platform on which Python is running:
>
> > components = pathString.split(os.sep)
>
> Won't work for platforms with more than one path separator and if a
> separator is repeated. For example r'\foo\\bar/baz//spam.py' or:
>
> In [140]: os.path.split('foo//bar')
> Out[140]: ('foo', 'bar')
>
> In [141]: 'foo//bar'.split(os.sep)
> Out[141]: ['foo', '', 'bar']
>
But those are invalid paths, aren't they? If you have a jumble of a
path, I think the solution is to call os.path.normpath() before
splitting.
Sebastian
More information about the Python-list
mailing list