Сравните содержимое archiwum.rar и извлеченные данные из .rar в папке в Windows 7

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

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

Файлы .rar весят более 100 ГБ каждый, а сервер не такой быстрый.

Любые идеи?

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

Спасибо


person Tomek    schedule 23.02.2012    source источник


Ответы (1)


В 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!"
person Mariusz Jamro    schedule 24.02.2012