016 pickle

  英文也是泡菜的意思。

  学完了,还是感觉这个模块是蛮不错的,对多数据保存到文件中,然后在使用的时候,再读取出来,让程序闲的更加优雅,简洁。

一:介绍

1.为什么使用

  在开篇已经介绍了,但是我这里粘贴一下别人对pickle的看法。

  pickle是python语言的一个标准模块,安装python后已包含pickle库,不需要单独再安装。

  那么为什么需要序列化和反序列化这一操作呢?

  1.便于存储。序列化过程将文本信息转变为二进制数据流。这样就信息就容易存储在硬盘之中,当需要读取文件的时候,从硬盘中读取数据,然后再将其反序列化便可以得到原始的数据。在Python程序运行中得到了一些字符串、列表、字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据。python模块大全中的Pickle模块就派上用场了,它可以将对象转换为一种可以传输或存储的格式。

  2.便于传输。当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把這个对象转换为字节序列,在能在网络上传输;接收方则需要把字节序列在恢复为对象。

 

2.保存

  pickle模块是以二进制的形式序列化后保存到文件中(保存文件的后缀为”.pkl”),不能直接打开进行预览。

  而python的另一个序列化标准模块json,则是human-readable的,可以直接打开查看(例如在notepad++中查看)。

 

二:操作

1.思路

  数据不写多了,这里只写了一个列表,做演示。

  主要分为两个阶段,一个是存放数据到文件。

  第二个阶段是从文件中读取数据,获取使用。

 

2.程序

 1 ###第一阶段,属于腌制
 2 import pickle
 3 data_list=[1,2,3,4,5,6,7,8,'aaaa',[1,8,'a']]
 4 
 5 file1=open('data.pkl','wb')
 6 pickle.dump(data_list, file1)
 7 file1.close()
 8 
 9 ###第二阶段,属于使用
10 file2=open('data.pkl','rb')
11 newdata=pickle.load(file2)
12 print(newdata)

 

3.效果、

  

 

4.遇到的问题

  module 'pickle' has no attribute 'dump'

  解决方式:

    python package中的名字写成了pickle,后来修改成pickleDemo就好了,这个值得注意一下。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/537941.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用java编写日历添加窗口一角_Java 实训4 编写一个窗体程序显示日历

实训要求:1.使用BorderLayout 进行总体布局2.在North 位置放置包含两个按钮( 上月和下月)的Panel3.在South 位置放置一个Label 用于显示当前年份和月份4.在Center 位置放置一个显示日历的Panel5.显示日历的Panel 设置7 行7 列的GridLayout 布局,其中第1行…

ER图转换成关系模式集的规则

转自己博客园文章 A与B1:1 在A表里把B表的主键和关系的属性加入到A表中 或B表里把A表的主键和关系的属性加入到B表中 举例 男人表身份证号姓名年龄女人身份证号登记日期女人表身份证号姓名年龄 A与B1:N 在A表中加入B表的主键与关系的属性 小米公司纳税号公司全称…

python3数字类型分为_Python初学3——数字类型及操作

一、数1.1 整数类型( 十、二、八、十六进制 )python中整数类型与数学中的整数概念一致,有正有负,取值任意。整数的表示形式:整数类型表示形式举例十进制34,163,210二进制0b1101 或 0B1101八进制0o357 或 0O357十六进制0x45ac 或 0X45ac1.2 浮…

idea 2018.1 创建springboot开启找回Run Dashboard

原文连接&#xff1a;https://www.cnblogs.com/yangtianle/p/8818255.html ---------------------------------------------------------------------------------配置方法首先找到项目中.idea文件下的workspace.xml开打接下来找到<component name"RunDashboard"&…

微信支付-服务端-bug排查记录

微信支付服务端需要对微信官方的统一下单接口发送请求获取prepayId作为app端调用支付的凭证&#xff0c;如果返回签名错误&#xff0c;首先排查代码层面的错误。 方法&#xff1a;使用微信官方的签名算法检验。 地址&#xff1a;https://pay.weixin.qq.com/wiki/doc/api/jsapi.…

Sqlserver备份存储过程

查了网上找不到快速备份Sqlserver存储过程的方法&#xff0c;心里想&#xff0c;如果Sqlserver不自带这个功能&#xff0c;真是太low了。步骤1&#xff1a;打开存储过程文件夹步骤2&#xff1a;按 F7 键&#xff0c;打开“对象资源管理器详细信息”窗口步骤3&#xff1a;点击“…

小哼买书JAVA编写,04_小哼买书

现在来看一个具体的例子“小哼买书”(根据全国青少年信息学奥林匹克联赛 NOIP2006 普及组第一题改编),来实践一下 章所学的三种排序算法。Paste_Image.png小哼的学校要建立一个图书角,老师派小哼去找一些同学做调查,看看同学们都喜欢读哪些书。小哼让每个同学写出一个自己最想读…

php 接口安全解决方案,php接口数据安全解决方案(一)

前言目的&#xff1a;1.实现前后端代码分离&#xff0c;分布式部署2.利用token替代session实现状态保持&#xff0c;token是有时效性的满足退出登录&#xff0c;token存入redis可以解决不同服务器之间session不同步的问题&#xff0c;满足分布式部署3.利用sign&#xff0c;前端…

Teamview连接Windows server问题

场景&#xff1a; 服务器在集团总部杭州&#xff0c;网管在集团宁波分公司&#xff0c;连接服务器通过内网远程桌面。过程&#xff1a; 网管给了tv的账号&#xff0c;密码。连接的时候一直连不上去。卡在“正在初始化连接参数”。后来网管不信&#xff0c;远程桌面了下&#xf…

nginx An attempt was made to access a socket in a way forbidden by its access permissions

在安装了 sqlserver2008 的win7 与 win2008 上启动 nginx&#xff0c;绑定80端口&#xff0c;报错&#xff1a; nginx An attempt was made to access a socket in a way forbidden by its access permissions查了百度&#xff0c;说修改注册表&#xff0c;但我的电脑上找不到文…

php的cms是什么意思,phpcms是什么系统

什么是phpcms&#xff1f;Phpcms 是国内领先的网站内容管理系统&#xff0c;同时也是一个开源的PHP开发框架。Phpcms由内容模型、会员、问吧、专题、财务、订单、广告、邮件订阅、 短消息、自定义表单、全站搜索等20多个功能模块组成&#xff0c;内置新闻、图片、下载、信息、产…

【python】 time模块和datetime模块详解 【转】

一、time模块 time模块中时间表现的格式主要有三种&#xff1a; a、timestamp时间戳&#xff0c;时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 b、struct_time时间元组&#xff0c;共有九个元素组。 c、format time 格式化时间&#xff0c;已格式化的结构使时间更…

spring boot Exception in Thread “main” java.lang.classNoFoundException

在客户测试环境部署&#xff0c;通过打包成jar&#xff0c;使用命令 nohup java -jar /usr/local/tomcat/shirencai/ct-peixun-provider.jar –spring.profiles.activestage > /usr/local/tomcat/shirencai/ct-peixun-provider-temp.txt & 报错后来排查以为是内存不够。…

php源码自动识别文本中的链接,自动加载识别文件Auto.php

用于本应用的控制器自动加载类设置&#xff0c;用法如同\CodeIgniter\Config\AutoloadConfig自动加载识别文件:dayrui/App/应用目录/Config/Auto.php语法格式&#xff1a;<?php // 自动加载识别文件return [/*** 命名空间映射关系*/psr4 > [],/*** 类名映射关系*/classm…

防抓包重放php,超简单最基本的WEB抓包改包重放的方法

【注意&#xff1a;此文章为博主原创文章&#xff01;转载需注意&#xff0c;请带原文链接&#xff0c;至少也要是txt格式&#xff01;】很多很多刚刚接触的同事问我如何抓包&#xff0c;如果讲用工具可能还涉及什么装证书&#xff0c;熟悉使用工具等等&#xff0c;特别繁琐&am…

mysql查询很慢优化方法1

解决方法&#xff1a; 关联的字段建索引。 具体分析如下&#xff1a;举例&#xff1a; 表格&#xff1a;培训学生表&#xff0c;班级报名表 需求&#xff1a;查询出学生报了哪些班级 两表有个关联字段“CD”&#xff08;学生学号&#xff09;。 视图sql&#xff1a; SELECTt_px…

php找出函数定义位置,WordPress如何快速定位PHP函数所在文件位置及代码行号?

有时候我们需要修改别人源码里的代码&#xff0c;却找不到对应的函数放在了哪儿&#xff0c;就可以用使用本文介绍的办法&#xff0c;帮你快速定位函数位置。特别是某些写法不规范的WordPress主题&#xff0c;各种模块&#xff0c;函数到处放&#xff0c;找半天的那种。那么Wor…

Phoenix:全局索引设计实践

概述 全局索引是Phoenix的重要特性&#xff0c;合理的使用二级索引能降低查询延时&#xff0c;让集群资源得以充分利用。 本文将讲述如何高效的设计和使用索引。 全局索引说明 全局索引的根本是通过单独的HBase表来存储数据表的索引数据。我们通过如下示例看索引数据和主表数据…

php 美颜,怀念以前无滤镜美颜的影视剧

滤镜是为了照片质量更高一些&#xff0c;色彩更真实突出的一种补助工具。自从有了美颜和滤镜后&#xff0c;大家的生活都变成了彩色。开了滤镜美颜&#xff0c;小伙伴们有木有感觉生活水平变高了&#xff1f;但影视剧&#xff0c;好像变成了单色&#xff1f;&#xff01;(注意&…

代码质量管理工具】——sonar

原文地址&#xff1a;https://blog.csdn.net/luckystar689/article/details/53871821 ------------------------------------------------------------------------ 【前言】 bug越改越多&#xff0c;程序一换数据就崩&#xff0c;这就是目前我们系统的一个现状。在这之前&am…