Save a class into a binary file - Python(将类保存到二进制文件中 - Python)
问题描述
我知道可以使用以下方法将类保存到 c++ 中的二进制文件中:
I'm aware that saving a class into a binary file in c++ is possible using:
file.write(Class_variable, size_of_class, amount_of_saves, file_where_to_save)
或类似的东西,我想在 python 中使用它,以便更轻松地写入和读取大量数据.
or something similar, and I wanted to use that in python in order to make it easier to write and read lots of data.
我试过这样做:
def Save_Game(player, room):
address = 'Saves/player'
file = open(address, 'wb')
file.write(player)
address = 'Saves/room'
file = open(address, 'wb')
file.write(room)
房间和玩家是class_objects.但它说:
Room and player being class_objects. But it says:
TypeError: must be convertible to a buffer, not PlayerMarty
我能做什么?
推荐答案
pickle 是你需要的.pickle 模块实现了一种基本但强大的算法,用于序列化和反序列化 Python 对象结构.这是一个例子
pickle is what you need. The pickle module implements a fundamental, but powerful algorithm for serializing and de-serializing a Python object structure. This is an example
import pickle
class MyClass:
def __init__(self,name):
self.name = name
def display(self):
print(self.name)
my = MyClass("someone")
pickle.dump(my, open("myobject", "wb"))
me = pickle.load(open("myobject", "rb"))
me.display()
这篇关于将类保存到二进制文件中 - Python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:将类保存到二进制文件中 - Python
基础教程推荐
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
