Модуль pickle в Python. Помогите разобрать содин случай
Итак, многим известная задача peak hell на pythonchallenge.com
Пытаюсь для себя, на пальцах, разобраться как работает сериализация, но пока в тупике. Я загрузил файл banner.p на ноутбук и начал с ним локально работать. Вот код:
import pickle
with open('banner.p', 'rb') as file:
banner = pickle.load(file)
print(banner)
with open('new_banner.p', 'wb') as new_file:
pickle.dump(banner, new_file)
with open('new_banner.p', 'rb') as new_file:
new_banner = pickle.load(new_file)
print(new_banner)
После его выполнения, первое что не понятно, размер файлов сильно отличается. banner.p - 5 002 байт new_banner.p - 2 198 байт
Второе - это то, что при открытии файла banner.p отображаются строки (lp0 (lp1 (S' ' p2 I95 tp3 а внутри файла new_banner.p просто кракозябры непонятные.
Вывод команд print, тем не менее совершенно одинаковый. Почему?