@TORONTOADLER

В одинаковых файлах разный hash?

Всем привет, у меня есть 2 файла с кодом
Первый из них разбирает файл на чанки, второй собирает обратно
первый:
chunk_size = 9000

readFile = input("введите полный путь к файлу чтения: ")


with open(readFile, 'rb') as f:

    i = 0

    while True:

        data = f.read(chunk_size)

        if data:
            with open(f'chunk_{i}', 'wb') as f2:
                f2.write(data)
        else:
            break

        i += 1


# файл с кол-во чанков
c = str(i)
cFile = input("файл для записи кол-во чанков: ")

with open(cFile, 'w') as f3:
    # ошибка тут
    f3.write(c)


print("файл успешно прочитан")
h1 = hash(readFile)
print(h1)


второй:
recordingFile = input("введите полный путь для файла записи: ")
cFile = input("введите полный путь к файлу кол-во чанков: ")
with open(cFile, 'rb') as f:
    c = f.readline()

with open(recordingFile, 'wb') as f2:


    for ch in range(int(c)):
        with open(f'chunk_{ch}', 'rb') as chunk_file:
            f2.write(chunk_file.read())

hash2 = hash(recordingFile)
print(hash2)


Если брать пример с обычной фотографией. После сборки она остается такой же внешне, сохраняю я в тот же путь затирая первый вариант, по всем критериям они одинаковы, но хэш разный, помогите пожалуйста
  • Вопрос задан
  • 110 просмотров
Пригласить эксперта
Ответы на вопрос 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
Ошибка тут:

with open(cFile, 'w') as f3:

Надо открывать файл как бинарный ('wb').

А также тут:

c = str(i)

При приведении бинарных данных к строке они могут исказиться.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы