Модули и функции · встроенный MicroPython FEMM 5
pickle
Сериализация простых объектов через repr/eval.
Условия работы
- Формат этой реализации — текст repr, закодированный в bytes; HIGHEST_PROTOCOL=0, proto не меняет алгоритм.
- loads/load исполняют выражение eval: загружайте только собственные доверенные данные. Для обмена таблицами используйте json или csv.
- dump вызывает f.write(str), тогда как load ожидает прочитать bytes: для пары dump/load режимы потока надо выбирать явно.
pickle.dumpspickle.loadspickle.dumppickle.loadpickle.dumpsСериализует простой словарь параметров.
pickle.dumps
dumps(obj, proto=0)Сериализует простой словарь параметров.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
obj | Объект с восстанавливаемым repr. |
proto | Принимается, но не используется. |
Возвращаемое значение
bytes с repr(obj).
Пример
"Пример pickle.dumps.\nСреда: встроенный MicroPython FEMM 5.\nСериализует простой словарь параметров.\nРезультат: bytes с repr(obj)."
import pickle
p={'turns':100,'current':2}
assert pickle.loads(pickle.dumps(p)) == p
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
pickle.loadsДекодирует bytes и вычисляет выражение.
pickle.loads
loads(s)Декодирует bytes и вычисляет выражение.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
s | Байтовое выражение, созданное из доверенных данных. |
Возвращаемое значение
Восстановленный объект.
Пример
"Пример pickle.loads.\nСреда: встроенный MicroPython FEMM 5.\nДекодирует bytes и вычисляет выражение.\nРезультат: Восстановленный объект."
import pickle
assert pickle.loads(b'[1, 2, 3]') == [1,2,3]
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
pickle.dumpЗаписывает repr объекта в текстовый поток.
pickle.dump
dump(obj, f, proto=0)Записывает repr объекта в текстовый поток.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
obj | Сериализуемый объект. |
f | Текстовый поток с write(str). |
proto | Не используется. |
Возвращаемое значение
None.
Пример
"Пример pickle.dump.\nСреда: встроенный MicroPython FEMM 5.\nЗаписывает repr объекта в текстовый поток.\nРезультат: None."
import pickle
import io
s=io.StringIO()
pickle.dump([1,2],s)
assert s.getvalue() == '[1, 2]'
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
pickle.loadЧитает все байты и передаёт их loads.
pickle.load
load(f)Читает все байты и передаёт их loads.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
f | Поток, чей read() возвращает bytes с доверенным выражением. |
Возвращаемое значение
Восстановленный объект.
Пример
"Пример pickle.load.\nСреда: встроенный MicroPython FEMM 5.\nЧитает все байты и передаёт их loads.\nРезультат: Восстановленный объект."
import pickle
import io
assert pickle.load(io.BytesIO(b'[1,2]')) == [1,2]
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.