How can I add a trailing slash (/ for *nix, \ for win32) to a directory string, if the tailing slash is not already there? Thanks!
4 Answers
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.
2 Comments
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.
1 Comment
Danon
Actually, checking
os.path.sep is not the best approach here, since on windows the path can end both in / as well as \ .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
os.pathmodule (docs.python.org/library/os.path.html) instead of manipulating strings directly. Useos.path.jointo concatenate path components.os.path.joinand let the standard library figure out the correct path separator.