Я извлекаю файл, используя tarfile. К сожалению, этот сжатый файл поступил с сервера Linux и содержит несколько файлов, содержащих недопустимые символы ОС Windows для файлов (':').
Я использую ниже:
extract = tarfile.open(file)
extract.extractall(path=new_path)
extract.close()
Я получаю следующую ошибку: IOError: [Errno 22] недопустимый режим ('wb') или имя файла: ... "file::ext"
Итак, я попытался передать ошибку с помощью:
try:
extract = tarfile.open(file)
extract.extractall(path=new_path)
extract.close()
except IOError:
pass
Это работает, однако извлечение не продолжается. Это просто останавливается с этой неудачей.
Когда я распаковываю архив WinRAR, файл автоматически переименовывается в «file__ext».
Есть ли расширение WinRAR для Python? Или, может быть, способ пропустить ошибку и продолжить извлечение? Или автоматически переименовать файл, как это делает WinRAR. Я не возражаю, если файл будет пропущен.
Я видел несколько сообщений с этой ошибкой, однако все они были для сжатия, а не для извлечения.