pickle使用方法

pickle 使用入门 pickle简介 标准模块 pickle模块实现了基本的数据序列化和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去(保存文件的后缀为”.pkl”),永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。 这里注意,对于用户自行定义的对象,就必须要先定义类,然后才能从文件中载入对象。 主要有四个函数 1. pickle.d... 阅读详情

1、多次存储和提取

import pickle

class Cat:
    '''
    The object of cat
    '''
    head = "head"
    body = "body"
    foot = "foot"

    #  initial the cat
    def __init__(self, head='0', body='1', foot='2'):
        self.head = head
        self.body = body
        self.foot = foot


if __name__ == '__main__':

    file_path = 'D:/tmp.pk'

    # Save objects
    write_file = open(file_path, 'wb')

    # The number of 'dump' must be equal the number of 'load'
    pickle.dump(Cat(1, 2, 3), write_file)
    pickle.dump(Cat(4, 5, 6), write_file)
    write_file.close()

    read_file = open(file_path, 'rb')
    cat = pickle.load(read_file)
    print(str(cat.head) + " " + str(cat.body) + " " + str(cat.foot))
    cat = pickle.load(read_file)
    print(str(cat.head) + " " + str(cat.body) + " " + str(cat.foot))
    read_file.close()

2、列表存取

import pickle


class Cat:
    '''
    The object of cat
    '''
    head = "head"
    body = "body"
    foot = "foot"

    #  initial the cat
    def __init__(self, head='0', body='1', foot='2'):
        self.head = head
        self.body = body
        self.foot = foot


def open_pickle_file(file_path):
    '''
    Open the file of bin
    :param file_path: path of file
    :return:
    '''
    with open(file_path, 'rb') as f:
        data = pickle.load(f)
        return data
    return 0


def save_pickle_file(data, file_path):
    '''
    Save the file of data
    :param data: The data of input
    :param file_path: The path of file
    :return:
    '''
    with open(file_path, 'wb') as f:
        pickle.dump(data, f)
    return 0


if __name__ == '__main__':
    file_path = 'D:/tmp.pk'

    data = list()
    data.append(Cat(1, 2, 3))
    data.append(Cat(4, 5, 6))

    # Save list
    save_pickle_file(data, file_path)
    cats = open_pickle_file(file_path)
    print(str(cats[0].head)+" "+str(cats[0].body)+" "+str(cats[0].foot))
    print(str(cats[1].head) + " " + str(cats[1].body) + " " + str(cats[1].foot))


AI 自动生成商业计划书:AIGC 如何助力创业者? 在创业的早期阶段,商业计划书(Business Plan)是至关重要的。它不仅用于吸引投资者、明确发展路径,还能帮助团队对业务模式、市场定位和财务预测有清晰认知。然而,撰写一份高质量的商业计划书往往需要投入大量时间和精力。如今,AIGC(AI Generated Content,人工智能生成内容)技术正在改变这一现状。借助 AIGC,创业者可以更快速、高效地创建商业计划书,并通过 AI 进行优化和数据分析。 阅读详情

相关推荐

什么事LLVM和Clang?Clang与GCC有什么区别?Clang如何使用?

这个问题主要讲Xcode编译器的认知,在学习iOS之前有必要学习一下Objective-C的编译环境。 在了解LLVM和Clang之前,先得了解一下什么是编译器。 编译器是一种计算机程序,它将某种编程语言(高级编程语言)写成的源代码转换成另一种编程语言(低级编程语言)。一个现代编译器的主要工作流程为:源代码->预处理器->编译器->目标代码->链接器->可执行程序...

Welcome~ 9723

Python pickle 介绍及使用理解

最近用到 pickle , 查询了网络博客的资料,整理了下 pickle 的作用,和使用场景, 一,pickle的说明介绍 一种数据的持久化保存方式 1.1 从序列化方向理解pickle 一般序列化流程: 对象1--序列化--> 字符串 -->反序列化--> 对象2(即原对象1) 从本质上来说,pickle 是python 自带的序列化方案, 对python 对象有很好支持, 从序列化角度,和JSON,XML, YAML 区别不大。 pickle与json区别: Pi..

Superbeans的博客 5984

vtk相机_分别用 VTK 体绘制和面绘制来实现医学图像三维重建;

序言,VTK介绍:VTK 全称为 The Visualization Toolkit (可视化工具),是一个开源、跨平台、自由获取、支持并行计算的图形应用函数;拥有3D 渲染的最新工具、提供3D交互模式以及2D绘图等。VTK 包含一个C++类库,目前提供了众多语言接口,例如 Java、Python、TCL;在三维函数库OpenGL 的基础上采用面向对象设计方法发展起来图形学基本概念和数据...

weixin_39665302的博客 688

【Python】pickle 包的理解和使用

【Python】pickle 包的理解和使用

wzk4869的博客 3940

FinRL实战:5步搞定股票量化交易策略(附Python代码)

本文详细介绍了如何使用FinRL框架,通过5个步骤构建基于深度强化学习的股票量化交易策略。内容涵盖从环境搭建、数据获取与预处理,到交易环境构建、模型训练(如PPO算法),以及策略回测评估与优化的完整流程,并提供了可运行的Python代码示例,帮助读者快速入门AI驱动的量化交易。

weixin_29062865的博客 627

MR2数据集实战:5步搞定多模态谣言检测模型训练(附完整代码)

本文详细介绍了如何使用MR2多模态数据集构建高精度谣言检测系统,涵盖环境配置、数据准备、多模态特征工程、模型架构设计、训练调优及部署优化等5个关键步骤。通过双线性融合技术处理文本、图像和网页三模态数据,解决特征对齐和模态冲突等工程难题,并提供完整代码实现和性能优化方案。

weixin_42657024的博客 239

Python中pickle模块用法详解

函数的功能:接受一个文件句柄和一个数据对象作为參数,把数据对象obj以特定的格式保存到给定的文件file里。当多次使用pickle.dump()写入时,使用pickle.load()一次只能读取一次写入的内容。函数的功能:将obj对象序列化为string形式,而不是存入文件中。函数的功能:从string中读出序列化前的obj对象。函数的功能:将file中的对象序列化读出。【循环多次写入文件】【循环多次读取文件】

IT之一小佬的博客 3248

让 ABAP BAPI_COSTACTPLN_POSTPRIMCOST 不再沉默:一套可落地的参数一致性校验与排错打法

SAP BAPI_COSTACTPLN_POSTPRIMCOST 沉默失败分析与解决方案 问题现象 使用 BAPI_COSTACTPLN_POSTPRIMCOST 上传计划数据时,接口执行不报错但数据未写入 COSP 等计划表,呈现"沉默失败"现象。 根本原因 索引关联断裂:INDEXSTRUCTURE 中 OBJECT_INDEX 和 VALUE_INDEX 未正确关联 COOBJECT 和 PERVALUE/TOTVALUE 表的数据 对象定义冲突:COOBJECT 中同一行填写了多

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 110

python. pickle的用法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

LiuRuiaby35646的博客 1251

OCR技术解析:用Tesseract和PaddleOCR识别文本

OCR技术解析:用Tesseract和PaddleOCR识别文本 ,人工智能,计算机视觉,大模型,AI,光学字符识别(Optical Character Recognition,简称 OCR)是一项将图片、扫描件等文档中的文字信息转换为可编辑文本的技术。在数字化时代,OCR 技术广泛应用于文档处理、车牌识别、身份证识别、古籍数字化等领域,极大地提高了文字信息处理的效率。Tesseract 和 PaddleOCR 是两款极具代表性的 OCR 工具。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 3万+

【测开求职】面试题:操作系统 吐血整理

本篇文章是笔者为准备研究生复试和校招而写,因此主要针对问答,注重理解,而不在于细节计算。涵盖考研范围内的所有知识内容,读者可以先查看上面的链接走一遍操作系统的整体框架结构。其中,重点难点以及易混淆的知识点,笔者用其他文章进行了详述,在知识点处贴好了链接,有需要的可以查阅。另外操作系统在校招中有非常明显的重点,一般情况下只会考察进程管理,内存管理,和设备管理,且这三者考察频率依次递减,文件管理基本不会考察。

vector的博客 7908

如何使用 pickle进行文件数据序列化处理?

如何使用 pickle进行文件数据序列化处理?

qqrrjj2011的博客 1491

Python中pickle模块的使用

pickle模块实现了数据序列和反序列化。 pickle模块使用的数据格式是python专用的,能够把Python对象直接保存到文件,而不须要把他们转化为字符串,也不用底层的文件訪问操作把它们写入到一个二进制文件中。 Pickle模块中最常用的函数: 1. pickle.dump(obj, file, [,protocol]) 函数的功能:接受一个文件句柄和一个数据对象作为參数,把数据对象...

zyy_DL的博客 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

python基础学习(十六)——超详细!pickle模块的使用(pickle.dump()和pickle.load())

python的pickle模块提供了一个简答的持久化功能,可以将对象以文件的形式存放在磁盘上。 pickle模块实现了基本的数据序列和反序列化 通过pickle模块的序列化操作pickle.dump(obj, file, [,protocol]),我们能够将程序中运行的对象信息保存到文件中去,永久存储。 通过pickle模块的反序列化操作pickle.load(file),我们能从文件中创建上一次程序保存的对象 (1)pickle.dump(obj, file,[protocol=None]) 存储:.

leilei7407的博客 2万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

pickle.dump和pickle.load

python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。 基本接口: pickle.dump(obj, file, [,protocol]) 注解:将对象obj保存到文件file中去。    protocol为序列化使用的协议...

欢迎光临啊噗不是阿婆主的酒馆 10万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

什么是pickle?

学习《深度学习》鱼书的源码时,刚看到加载mnist数据集所用到的mnist.pkl文件,理所当然的以为pkg这样的package安装包文件。奇怪安装包为何被包含在代码目录中,结果发现init_mnist函数还要加载它。 正在上传…重新上传取消正在上传…重新上传取消 我们来看看这个神秘的mnist.pkl文件,打开资源管理器,发现这个文件竟然有53M 使用EditPlus打开,乱码,二进制的。 回归正题,什么是pickle? pickle提供了一个简单的持久化功能。可以将对象以...

horacemolin的博客 8852

72_Pandas.DataFrame保存并读取带pickle的系列(to_pickle、read_pickle)

pickle 是 Python 标准库中包含的一个模块,用于将 Python 对象转换为字节(序列化、pickling)以及从字节转换为 Python 对象(反序列化、unpickling)。为了方便起见,这里将经过 pickle 并保存的文件称为 pickle 文件。

qq_18351157的博客 3858

pickle.loads和pickle.dumps

pickle(泡菜)pickle.loads和pickle.dumps 在程序运行的过程中,所有变量都是存储在内存中的,我们都知道计算机底层存储是以二进制的形式,为了让看起来简洁就使用8进制、16进制封装一次呈现,内存中就是以进制保存的数据,不同的是使用了几进制。 举个例子: import pickle li = [1, 2, 3] p = pickle.dumps(li) print(typ...

qq_43262631的博客 2292

pickle python_Python Pickle示例

pickle pythonIn this tutorial we will be discussing about Python Pickle Example. In our previous tutorial, we discussed about Python Multiprocessing. 在本教程中,我们将讨论有关Python Pickle Example的信息。 在上一教程中,我们讨论...

从零开始的教程世界 478

pickle cPickle使用

python2中: cPickle只是pickle的C编译版本,用法几乎相同 python3: cPickle模块已经被移除,即只剩下pickle模块 一、dump()方法 pickle.dump(obj, file, [,protocol]) 注释:序列化对象,将对象obj保存到文件file中去。参数protocol是序列化模式,默认是0(ASCII协议,表示以文本的形式进行序列化),proto...

zhe_csdn的博客 2405

pickle

对pickle的深度探究

qiyue_awa的博客 238

pickle模块的使用

在python3中,用于序列化的两个模块:json、pickle。Json提供四个方法,分别是dumps、loads、dump、load;pickle也提供四个方法,即dumps、loads、dump、load。 pickle可存储的数据类型:数字、字符串、列表、元组、集合、字典、函数、类。 pickle常用方法: (1)pickle.dumps(obj, protocol=None, *,...

Bing_bing_bing_的博客 586

pickle库的使用详解

在“通过简单示例来理解什么是机器学习”这篇文章里提到了pickle库的使用,本文来做进一步的阐述。 那么为什么需要序列化和反序列化这一操作呢?   1.便于存储。序列化过程将文本信息转变为二进制数据流。这样就信息就容易存储在硬盘之中,当需要读取文件的时候,从硬盘中读取数据,然后再将其反序列化便可以得到原始的数据。在Python程序运行中得到了一些字符串、列表、字典等数据,想要长...

banxieshi3876的博客 223

python基础应用之pickle库的使用

pickle模块实现了数据序列和反序列化。 Pickle模块中最常用的函数: 1. pickle.dump(obj, file, [,protocol]) 函数的功能:接受一个文件句柄和一个数据对象作为參数, 把数据对象obj以特定的格式保存到给定的文件file里。 参数: obj:想要序列化的obj对象。 file:文件名称。 protocol:序列化使用的协议。如果该项省略,则默认为0。 如果为负值或HIGHEST_PROTOCOL,则使用最高的协议版本。 2.pickle.load(file)

敲代码的小风 1162

Python标准库之pickle

数据持久化(Data Persistence):将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称,一般是指把瞬时数据(如内存中的对象)转换为持久数据永久保存到存储设备中(如磁盘)。序列化(Serialization):将对象的状态信息转换为可以存储或传输的形式的过程,目的是使内存中的状态信息持久化便于以后恢复、重建并返回一个对象的封存表示形式 data 的对象层级结构,bytes类型将反序列化为Python对象。将 Python 对象写入已打开的二进制文件。

AlbertDarren的博客 5860
上一篇: Centos中安装Python
下一篇: pandas基本使用方法和表的合并
MasonYyp
博客等级 码龄9年 301粉丝 297原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值