Почему os.normpath не сворачивает начальную двойную косую черту?

В Unix os.path.normpath сворачивает несколько слэшей в одиночные , за исключением случаев, когда появляются ровно две слэши в начале пути ]. Почему исключение?

Для иллюстрации я получаю следующие преобразования:

//double/slash/stays -> //double/slash/stays
/double/slash//gone// -> /double/slash/gone/
double//slash//gone/ -> double/slash/gone
///triple/slash/gone -> /triple/slash/gone
////quad/slash/gone -> /quad/slash/gone

Мне это кажется странным. Я смутно могу представить, что это полезно для монтирования SMB или URL-адресов, но я не думаю, что меня это волнует. Есть ли какая-то скрытая мудрость в поведении Python, или я должен просто свернуть ведущую // самому?

[update] Принимая во внимание ответ ниже, похоже, что лучше всего не сворачивать //, а просто принять его или рассматривать как ошибку.

5
задан Jonathan Leffler 9 July 2016 в 20:33
поделиться