Python Glossary English

Python 3.12+tarfileисключение

tarfile.AbsolutePathError

исключения

Исключение фильтра распаковки: член архива имеет абсолютный путь, который нельзя сделать относительным.

Синтаксис

except tarfile.AbsolutePathError:

На Linux и macOS вы его почти не увидите: фильтры 'data' и 'tar' молча срезают ведущий '/' и распаковывают '/etc/x' в 'etc/x' внутри целевой папки. Исключение остаётся для путей, абсолютных и после срезания, — например 'C:/x' на Windows. Подкласс FilterError.

Примеры

import tarfile
m = tarfile.TarInfo('/etc/app.conf')
print(tarfile.data_filter(m, 'out').name)  # → etc/app.conf — '/' срезан
err = tarfile.AbsolutePathError(tarfile.TarInfo('C:/x'))
print(err)  # → member 'C:/x' has an absolute path
print(issubclass(tarfile.AbsolutePathError, tarfile.FilterError))  # → True

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности