Как добавить косую черту (/ для * nix, \ для win32) в строку каталога, если косая черта еще не существует? Спасибо!
/
\
os.path.join(path, '') добавит косую черту, если ее там еще нет.
os.path.join(path, '')
Вы можете сделать os.path.join(path, '', '') или os.path.join(path_with_a_trailing_slash, ''), и вы все равно получите только одну косую черту.
os.path.join(path, '', '')
os.path.join(path_with_a_trailing_slash, '')
Поскольку вы хотите соединить каталог и имя файла, используйте
os.path.join(directory, filename)
Если вы хотите избавиться от .\..\..\blah\ путей, используйте
.\..\..\blah\
os.path.join(os.path.normpath(directory), filename)
Вы можете сделать это вручную:
path = ... import os if not path.endswith(os.path.sep): path += os.path.sep
Тем не менее, обычно гораздо чище использовать os.path.join.
os.path.join
Вы можете использовать что-то вроде этого:
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.
В противном случае вы можете найти что-то еще на этой странице