Изящно конвертировать .rar в .zip используя Python - PullRequest
2 голосов
/ 18 ноября 2009

В настоящее время я делаю системный вызов для команд "unrar and zip". Он прерывает и требует от меня ввода пароля при обнаружении архивов с паролем.

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

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

Ответы [ 2 ]

2 голосов
/ 18 ноября 2009

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

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

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

0 голосов
/ 18 ноября 2009

Может быть, это может помочь: http://www.noah.org/wiki/Pexpect#Description_of_Pexpect

...