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