почему os.path.normpath не удаляет первые //? - PullRequest
0 голосов
/ 10 сентября 2018

Почему первые // не удаляются?

Следующий код:

import os
os.path.normpath('//var//lib/')

возвращает

'//var/lib'

не

'/var/lib'

Вот определение:

normpath(path)
    '''Normalize path, eliminating double slashes, etc.'''

1 Ответ

0 голосов
/ 10 сентября 2018

Поскольку в Windows есть неоднозначность пути, которую сохраняет Python.

//var/whatever может относиться к диску, смонтированному как имя //var

ИЛИ

/var/whatever может ссылаться на каталог локального диска.

Если python свернул ведущие двойные косые черты, вы можете неосознанно изменить путь для ссылки на другое местоположение.

Другой способ сказать, что это//var и /var - это принципиально разные пути, и python трактует их по-разному.Возможно, вам следует изменить свой тестовый пример, чтобы отразить это.

...