Как получить os.path.realpath в Python, возвращающий «реальный» путь на винчестере Windows? - PullRequest
0 голосов
/ 26 февраля 2019

Python os.path.realpath , при использовании с диском с подкладкой в ​​форме Windows, не разрешайте путь с подстрокой к пути real .

Например, создать диск с поддержкой subted следующим образом:

subst S: C:\Users\Public\Desktop

и проверить реальный путь в python следующим образом:

import os
myPath = "S:\\"
print("Real path of: " + myPath + " is: " + os.path.realpath(myPath) )

print

Real path of: S:\ is: S:\

В документах для команды subst диск с субтитрами называется виртуальным диском.Виртуальный, предполагающий, что что-то «ненастоящее», указывает на то, что команда Python realpath не работает, как можно было бы предположить в Windows.

Код используется для настройки контейнера Docker, а путь используется в монтировании.Docker запросит у пользователя разрешение на использование диска с поддержкой в ​​качестве общего диска, что приведет к сбою, так как Docker не может использовать диски с общим доступом.Вот почему так важно получить реальный , правильный путь.

Как получить правильный путь выше, то есть от S: \\ get C:\ Users \ Public \ Desktop , в Python?

Обновление: после отправки сообщения об ошибке Python, было получено сообщение о том, что существует запрос на обновление правильной версии realpath для Windows.Тем временем можно использовать:

pathlib.Path('S:\\').resolve()

, который разрешает путь real , то есть c: \ Users ... etc!

1 Ответ

0 голосов
/ 26 февраля 2019

В настоящее время правильный ответ:

pathlib.Path('S:\\').resolve()

Благодаря Eryk Sun см. https://bugs.python.org/issue36112

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