Сравните содержимое архива.rar и извлеченные данные из .rar в папке на Windows 7 - PullRequest
1 голос
/ 23 февраля 2012

Кто-нибудь знает, как сравнить количество файлов и размер файлов в archiwum.rar и его извлеченное содержимое в папке?

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

.rar файлы имеют размер более 100 ГБ каждый, и сервер не такой быстрый.

Есть идеи?

пс. если решением будет какой-то код вместо автономной программы, я предпочитаю Python.

Спасибо

1 Ответ

1 голос
/ 24 февраля 2012

В Python вы можете использовать RarFile модуль. Использование аналогично встроенному модулю ZipFile .

import rarfile
import os.path

extracted_dir_name = "samples/sample"    # Directory with extracted files
file = rarfile.RarFile("samples/sample.rar", "r")

# list file information
for info in file.infolist():
     print info.filename, info.date_time, info.file_size

     # Compare with extracted file here
     extracted_file = os.path.join(extracted_dir_name, info.filename)
     if info.file_size != os.path.getsize(extracted_file):
         print "Different size!"
...