Подтвердить что ты не робот

Исправление путей "../../" в python

Есть ли простой способ в Python разрешить пути операторов, таких как ..? Например, есть вызов функции, который преобразует: /../../test/../path в /path?

4b9b3361

Ответ 1

Вы можете использовать os.path.realpath(), чтобы получить канонический путь. Чтобы получить нормализованный относительный путь, используйте os.path.normpath().

Ответ 2

Вы можете использовать abspath в модуле os.path.

os.path.abspath(путь)

Вернуть нормализованный абсолютизированный версии пути пути. В большинстве случаев платформ, это эквивалентно normpath (join (os.getcwd(), path)).

Ответ 3

Если вы используете библиотеку 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

Ответ 4

вы можете использовать функцию os.path.abspath от os.path