Python, добавить косую черту в строку каталога, независимо от ОС - PullRequest
92 голосов
/ 29 апреля 2010

Как добавить косую черту (/ для * nix, \ для win32) в строку каталога, если косая черта еще не существует? Спасибо!

Ответы [ 4 ]

145 голосов
/ 21 февраля 2013

os.path.join(path, '') добавит косую черту, если ее там еще нет.

Вы можете сделать os.path.join(path, '', '') или os.path.join(path_with_a_trailing_slash, ''), и вы все равно получите только одну косую черту.

25 голосов
/ 29 апреля 2010

Поскольку вы хотите соединить каталог и имя файла, используйте

os.path.join(directory, filename)

Если вы хотите избавиться от .\..\..\blah\ путей, используйте

os.path.join(os.path.normpath(directory), filename)
8 голосов
/ 29 апреля 2010

Вы можете сделать это вручную:

path = ...

import os
if not path.endswith(os.path.sep):
    path += os.path.sep

Тем не менее, обычно гораздо чище использовать os.path.join.

0 голосов
/ 29 апреля 2010

Вы можете использовать что-то вроде этого:

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.

В противном случае вы можете найти что-то еще на этой странице

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...