Python 3.12+tarfileисключение
tarfile.SpecialFileError
исключения
Исключение фильтра 'data': член архива — специальный файл (устройство или именованный канал).
Синтаксис
except tarfile.SpecialFileError:
В архиве данных устройствам и FIFO делать нечего, а распакованный канал может подвесить программу, которая попробует его прочитать. Фильтр 'tar' такие члены пропускает (создать устройство всё равно может только root), а 'data' отказывает этим исключением.
Примеры
import tarfile
fifo = tarfile.TarInfo('pipe')
fifo.type = tarfile.FIFOTYPE
print(tarfile.tar_filter(fifo, 'out').name) # → pipe — 'tar' пропускает
try:
tarfile.data_filter(fifo, 'out')
except tarfile.SpecialFileError as e:
print(e) # → 'pipe' is a special file
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности