当前位置: 首页 > news >正文

wordpress页面之间如何跳转珠海网站seo

wordpress页面之间如何跳转,珠海网站seo,b2b2c外贸商城源码,网站首页title怎么修改迷途小书童的 Note 读完需要 7分钟 速读仅需 3 分钟 大家好,我是迷途小书童! 在 Python 开发中,我们经常需要将对象数据保存到磁盘,或者通过网络传输对象信息。这时就需要序列化,Pickle 库为我们提供了极为方便的对象序…

888e5dc27c22e78b86b72a7544280e53.png

迷途小书童的 Note

读完需要

7

分钟

速读仅需 3 分钟

大家好,我是迷途小书童!

在 Python 开发中,我们经常需要将对象数据保存到磁盘,或者通过网络传输对象信息。这时就需要序列化,Pickle 库为我们提供了极为方便的对象序列化功能。本文将全面解析 Pickle 的工作机制、典型应用及示例代码,希望可以帮助初学者快速掌握这个实用的内置模块。

1

   

简介

pickle 模块实现了对一个 Python 对象结构的二进制序列化和反序列化。pickling 是将 Python 对象及其所拥有的层次结构转化为一个字节流的过程,而 unpickling 是相反的操作,会将字节流转化回一个对象层次结构。

Python 中几乎所有的数据类型(列表,字典,集合,类等)都可以用 pickle 来序列化。

2

   

常用方法

pickle 模块提供了以下方法,让序列化和反序列化的过程更加方便

  • dump 方法

  • pickle.dump(obj, file, protocol=None, *, fix_imports=True, buffer_callback=None)

    将对象 obj 序列化以后的对象写入已打开的文件对象中。参数 protocol 是序列化模式,默认值为 0,表示以文本的形式序列化。protocol 的值还可以是 1 或 2,表示以二进制的形式序列化。

  • dumps 方法

  • pickle.dumps(obj, protocol=None, *, fix_imports=True, buffer_callback=None)

    将 obj 封存以后的对象作为 bytes 类型直接返回,而不是将其写入到文件对象中。各参数与 dump 中的一样。

  • load 方法

  • pickle.load(file, *, fix_imports=True, encoding="ASCII", errors="strict", buffers=None)

    从已打开文件对象中读取序列化后的对象,重建其中特定对象的层次结构并返回。

    pickle 协议版本是自动检测出来的,所以不需要参数来指定协议。封存对象以外的其他字节将被忽略。

  • loads 方法

  • pickle.loads(data, /, *, fix_imports=True, encoding="ASCII", errors="strict", buffers=None)

    重建并返回 data 的对象层级结构。data 是序列化后的 bytes 对象。

3

   

示例代码

首先,来看看序列化的过程,分别将字符串、字典和列表进行序列化,使用 dump 方法

(demo) PS C:\Users\Administrator> ipython
Python 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.12.0 -- An enhanced Interactive Python. Type '?' for help.In [1]: aString = 'xugaoxiang.com'In [2]: aDict = {'p': 'python', 'r': 'rust', 's': 'swift'}In [3]: aList = ['one', 'two', 'three']In [5]: f = open('test.pkl', 'wb')In [6]: pickle.dump(aString, f, True)
<IPython.core.display.Javascript object>In [7]: pickle.dump(aDict, f, True)
<IPython.core.display.Javascript object>In [8]: pickle.dump(aList, f, True)
<IPython.core.display.Javascript object>In [9]: f.close()In [10]:

这时候,在目录 C:\Users\Administrator 就生成了二进制文件 test.pkl

960509c8439eeba215032fc14a3e15de.png

接下来开始反序列化

In [11]: f = open('test.pkl', 'wb')In [12]: pickle.dump(aString, f, True)
<IPython.core.display.Javascript object>In [13]: pickle.dump(aDict, f, True)
<IPython.core.display.Javascript object>In [14]: pickle.dump(aList, f, True)
<IPython.core.display.Javascript object>In [15]: f.close()In [16]: f1 = open('test.pkl', 'rb')In [17]: lString = pickle.load(f1)
<IPython.core.display.Javascript object>In [18]: lString
Out[18]: 'xugaoxiang.com'In [19]: lDict = pickle.load(f1)
<IPython.core.display.Javascript object>In [20]: lDict
Out[20]: {'p': 'python', 'r': 'rust', 's': 'swift'}In [21]: lList = pickle.load(f1)
<IPython.core.display.Javascript object>In [22]: lList
Out[22]: ['one', 'two', 'three']In [23]: f1.close()

通过以上代码,可以看到反序列化的过程跟序列化的顺序一样,这一点跟数据结构中的队列很像。

4

   

文件对象不可以序列化

python 不能序列化文件对象,或者任何带有对文件对象引用的对象,因为在反序列化时无法保证它可以重建该文件的状态。看下面的示例

In [32]: f = open('test.pkl', 'wb')<IPython.core.display.Javascript object>
In [33]: p = pickle.dumps(f)
<IPython.core.display.Javascript object>
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-33-671076828a70> in <module>
----> 1 p = pickle.dumps(f)TypeError: cannot serialize '_io.BufferedWriter' objectIn [34]:

5

   

可移植性

pickle 文件格式独立于机器的体系结构,这也就意味着,可以在 linux 下创建一个 pickle,然后将它发送到在 Windows 或 MacOS 下运行的 Python 程序。而且,当 python 版本升级时,也不必担心已有的 pickle 操作出现问题,可以向后兼容。

6

   

免费社群

66165f2f5b0a6a012818aaf9110d1940.jpeg

http://www.hkea.cn/news/548211/

相关文章:

  • html 做网站案例简单网站推广建设
  • 践行新使命忠诚保大庆网站建设线上广告
  • 定制网站建设服务商商家联盟营销方案
  • 集团官网建设公司外贸seo推广公司
  • 佛山新网站制作平台网站诊断工具
  • 做PPT的网站canvawhois查询
  • 营销型网站建设吉林定制化网站建设
  • 个人网上公司注册流程图新站优化案例
  • 做se要明白网站明星百度指数排名
  • 网页微博草稿箱在哪西安seo推广优化
  • 嘉兴微信网站建设谷歌首页
  • 什么网站做海报b站不收费网站
  • 如何自己做个简单网站seo知识点
  • 有哪些做批发的网站有哪些手续百度推广优化是什么意思
  • 用阿里巴巴店铺做公司网站怎么样引擎搜索有哪些
  • 网页制作软件属于什么软件类别简述seo的优化流程
  • 网站建设 公司新闻谷歌排名网站优化
  • 怎样做自己的vip解析网站佛山外贸seo
  • 我的网站在百度搜不到了seo是什么职业做什么的
  • 网站私信界面国外网站seo免费
  • wordpress mysql类惠州网站seo
  • 为什么做网站必须要用域名举出最新的网络营销的案例
  • 电子请柬网站开发百度竞价推广登录入口
  • 网站设计与推广国际时事新闻2022最新
  • 柬埔寨网站开发营销技巧和营销方法
  • 网站建立价格长沙网站外包公司
  • 王建设医生个人网站免费google账号注册入口
  • 免费自建手机网站搜索引擎优化的方法包括
  • 甘肃省建设工程安全质量监督管理局网站官网拉新项目官方一手平台
  • 做电影网站赚钱武汉新闻最新消息