Изящно конвертируйте .rar в .zip с помощью Python

В настоящее время я делаю системный вызов для команд «unrar и zip». Это прерывает и требует, чтобы я ввел пароль, когда сталкиваюсь с защищенными паролем архивами.

Можно ли позволить ему работать и возвращать «неудачное» значение основной программе при любой ошибке или запросе пароля?

Можем ли мы изначально использовать библиотеки rarfile и zipfile для выполнения этой работы без создания каких-либо временных файлов?


person jack    schedule 18.11.2009    source источник
comment
просто используйте p- в командной строке, чтобы избежать запроса пароля.   -  person tonfa    schedule 18.11.2009


Ответы (2)


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

Вы можете использовать библиотеку PyUnRAR2, она позволит вам проверять и извлекать файлы RAR-архив. Вы можете извлечь файлы во временную папку, созданную с помощью модуля python tempfile. После этого создайте ZIP-файл с помощью модуля Python zipfile.

Обратите внимание, что для использования PyUnRAR2 вам потребуются проприетарные двоичные файлы RAR.

person Manuel Ceron    schedule 18.11.2009