Ответ 1
Вы можете использовать os.path.realpath()
, чтобы получить канонический путь. Чтобы получить нормализованный относительный путь, используйте os.path.normpath()
.
Есть ли простой способ в Python разрешить пути операторов, таких как ..
? Например, есть вызов функции, который преобразует: /../../test/../path
в /path
?
Вы можете использовать os.path.realpath()
, чтобы получить канонический путь. Чтобы получить нормализованный относительный путь, используйте os.path.normpath()
.
Вы можете использовать abspath
в модуле os.path
.
os.path.abspath(путь)
Вернуть нормализованный абсолютизированный версии пути пути. В большинстве случаев платформ, это эквивалентно normpath (join (os.getcwd(), path)).
Если вы используете библиотеку pathlib, то метод resolve
:
In [304]: print(p)
/group_workspaces/cems2/fiduceo/Users/gholl/logs/2016/08/10/srf_errorprop/../../../../../scratch/accidentally_deleted_shift_log
In [305]: print(p.resolve())
/group_workspaces/cems2/fiduceo/Users/gholl/scratch/accidentally_deleted_shift_log
вы можете использовать функцию os.path.abspath
от os.path