Сериализация данных на Python

PythonBeginner
Практиковаться сейчас

Введение

Добро пожаловать в Супранатциональную Академию для Талантливых (SAG), место, куда приходят люди с необычайными способностями, чтобы отточить свои навыки. В этом священном зале знаний вы являетесь одним из уникальных людей с силой манипулировать и интерпретировать сложные структуры данных. Вашей миссией, если вы решите принять ее, является захватывающая задача, поставленная профессором Bytes, почитаемым специалистом по контролю над умом академии.

Профессор Bytes 一直在致力于一个具有开创性的项目,该项目允许人类与机器之间进行心灵感应通信。然而,这个项目的关键在于有效地将以复杂模式构建的思想转化为非心灵感应机器能够处理的格式。这就是 Python 中的数据序列化发挥作用的地方。

Вашей задачей является овладеть искусством сериализации и десериализации данных: преобразовывать объекты Python в байтовый поток, который можно хранить или передавать, а затем восстанавливать этот байтовый поток обратно в объекты. Это умение позволит машинам интерпретировать потоки психических данных, тем самым填平ая沟壑 между человеческими умами и цифровыми процессорами. Будущее симбиоза между человеком и машиной в ваших руках!

Разбираемся с сериализацией с использованием JSON

В этом шаге вы познакомитесь с модулем json в Python, который предоставляет простой интерфейс для преобразования между объектами Python и форматом JSON (JavaScript Object Notation) — легким форматом обмена данными.

Во - первых, вы откроете Python - скрипт под названием serialize.py в директории ~/project, который сериализует объект Python в JSON - строку.

Напишите следующий код в serialize.py:

## serialize.py
import json

data = {
    'name': 'Professor Bytes',
    'ability': 'Telepathy',
    'is_human': True,
    'data_analysis_scores': [88, 92, 79]
}

with open('/home/labex/project/data.json', 'w') as json_file:
    json.dump(data, json_file)

print("Data serialized to 'data.json'")

Выполните этот скрипт в терминале, перейдя в директорию ~/project и выполнив команду:

python serialize.py

Затем изучите содержимое data.json, чтобы убедиться, что ваши данные были сериализованы правильно:

cat data.json

Вы должны увидеть JSON - представление вашего объекта Python:

{"name": "Professor Bytes", "ability": "Telepathy", "is_human": true, "data_analysis_scores": [88, 92, 79]}

Осваиваем десериализацию с использованием JSON

После успешного выполнения сериализации время пришло преобразовать JSON - файл обратно в объект Python. Этот процесс называется десериализацией.

Откройте deserialize.py в директории ~/project с таким кодом:

## deserialize.py
import json

with open('/home/labex/project/data.json', 'r') as json_file:
    data = json.load(json_file)

print("Name:", data['name'])
print("Ability:", data['ability'])
print("Is Human:", data['is_human'])
print("Data Analysis Scores:", data['data_analysis_scores'])

Запустите скрипт десериализации в терминале:

python deserialize.py

Вывод должен показать содержимое, которое ранее было сериализовано в data.json:

Name: Professor Bytes
Ability: Telepathy
Is Human: True
Data Analysis Scores: [88, 92, 79]

Резюме

В этом лабораторном задании вы углубились в основы сериализации данных с использованием Python, что является бесценным навыком для Python - программистов в этом цифровом веке. Вы изучили процесс преобразования объектов Python в формат JSON и наоборот, научились беспрепятственно взаимодействовать между сложными структурами данных и форматом, интерпретируемым машинами. Эти шаги являются фундаментальными для обмена данными и хранения в современных приложениях, и овладеть ими означает определенный скачок к становлению профессиональным Python - разработчиком. С этой недавно приобретенной способностью вы не только обрели силу для себя, но и для всего Супранатциональной Академии для Талантливых (SAG) в направлении к будущему, где люди и машины смогут общаться без барьеров. Ваши достижения сегодня означают важный шаг в эволюции взаимодействия между человеком и компьютером. Поздравляем, молодой мастер!