This module implements some useful functions on pathnames.
Warning: On Windows, many of these functions do not properly support UNC pathnames. splitunc() and ismount() do handle them correctly.
normpath(join(os.getcwd(), path)).
New in version 1.5.2.
split(path). Note that the
result of this function is different from the
Unix basename program; where basename for
'/foo/bar/' returns 'bar', the basename()
function returns an empty string ('').
''). Note that this may return invalid paths because it works a
character at a time.
split(path).
'/')
inserted between components, unless path is empty.
A//B, A/./B and
A/foo/../B all become A/B. It does not normalize the
case (use normcase() for that). On Windows, it converts
forward slashes to backward slashes.
(head,
tail) where tail is the last pathname component and
head is everything leading up to that. The tail part will
never contain a slash; if path ends in a slash, tail will
be empty. If there is no slash in path, head will be
empty. If path is empty, both head and tail are
empty. Trailing slashes are stripped from head unless it is the
root (one or more slashes only). In nearly all cases,
join(head, tail) equals path (the only
exception being when there were multiple slashes separating head
from tail).
(drive,
tail) where drive is either a drive specification or the
empty string. On systems which do not use drive specifications,
drive will always be the empty string. In all cases,
drive + tail will be the same as path.
New in version 1.3.
(root, ext)
such that root + ext == path,
and ext is empty or begins with a period and contains
at most one period.
(arg, dirname, names) for each directory in the
directory tree rooted at path (including path itself, if it
is a directory). The argument dirname specifies the visited
directory, the argument names lists the files in the directory
(gotten from os.listdir(dirname)).
The visit function may modify names to
influence the set of directories visited below dirname, e.g., to
avoid visiting certain parts of the tree. (The object referred to by
names must be modified in place, using del or slice
assignment.)