Reputation: 51951
How can I add a trailing slash (/
for *nix, \
for win32) to a directory string, if the tailing slash is not already there? Thanks!
Upvotes: 151
Views: 103208
Reputation: 6177
os.path.join(path, '')
will add the trailing slash if it's not already there.
You can do os.path.join(path, '', '')
or os.path.join(path_with_a_trailing_slash, '')
and you will still only get one trailing slash.
Upvotes: 250
Reputation: 336428
Since you want to connect a directory and a filename, use
os.path.join(directory, filename)
If you want to get rid of .\..\..\blah\
paths, use
os.path.join(os.path.normpath(directory), filename)
Upvotes: 35
Reputation: 357
You could use something like this:
os.path.normcase(path)
Normalize the case of a pathname. On Unix and Mac OS X, this returns the path unchanged; on case-insensitive filesystems, it converts the path to lowercase. On Windows, it also converts forward slashes to backward slashes.
Else you could look for something else on this page
Upvotes: -2
Reputation: 38643
You can do it manually by:
path = ...
import os
if not path.endswith(os.path.sep):
path += os.path.sep
However, it is usually much cleaner to use os.path.join
.
Upvotes: 19