当前位置:主页 > python教程 > 用pickle存储Python的原生对象方法

如何使用pickle存储Python的原生对象

发布:2020-01-11 09:47:03 172


本站精选了一篇pickle存储Python的原生相关的编程文章,网友庄飞绿根据主题投稿了本篇教程内容,涉及到pickle、Python、原生对象、用pickle存储Python的原生对象方法相关内容,已被453网友关注,涉猎到的知识点内容可以在下方电子书获得。

用pickle存储Python的原生对象方法

在Python中存储数据到文件中时,简单的做法是调用open函数执行文件写入操作,但是这样做的话,当我们要重新读取文件内容时,就会出现类型不匹配的情况,因为读取的都是字符串的形式,所以还需要进行类型转换,这样不简洁。

或者使用eval函数把字符串转换为对象,但是有时它过于强大,它会执行Python的任何表达式,甚至做出威胁系统正常工作的表达式,这样做不安全。

如果想存储Python原生对象,但又无法信赖文件的数据来源,那么pickle模块会是个理想的选择。

pickle模块是能够让我们直接在文件中存储几乎任何Python对象的高级工具,并不要求我们把字符串转换来转换去,像是个超级通用的数据格式化和解析工具。

demo.py:

D = {'name':'Allen', 'age':21}
f = open('p_data.pkl','wb')
import pickle
pickle.dump(D,f)
f.close()

f=open('p_data.pkl','rb')
e=pickle.load(f)
print(e)
print(type(e))

控制台输出:

{'name': 'Allen', 'age': 21}
<class 'dict'>
[Finished in 0.4s]

然后它会在指定路径下生成p_data.pkl文件:

8003 7d71 0028 5804 0000 006e 616d 6571
0158 0500 0000 416c 6c65 6e71 0258 0300
0000 6167 6571 034b 1575 2e

如果控制台提示”attributeError:'module' object has no attribute ‘dump'”,那么很可能是因为你的文件名命名为”pickle.py”,这与内置模块文件重名了,改一下就可以了。。

以上这篇用pickle存储Python的原生对象方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。


参考资料

相关文章

  • 《Python编程:从入门到实践》第八章:函数

    发布:2018-12-01

    8-1 消息 编写一个名为display_message() 的函数,它打印一个句子,指出你在本章学的是什么。调用这个函数,确认显示的消息正确无误。 # -*- coding : utf-8 -*-def display_messages(): print(本章学习的是函数)if __name__ == __main__: display_messages() 结果: 8-2 喜欢的图书 编写一个名为favorite_book() 的函数,其中包含一个名为title 的形参。这个函数打印一条消息,如One


  • 《Python编程:从入门到实践》DEMO实例代码

    发布:2018-12-01

    一、前言 之前,项目后台基本都是使用 Java 的 SpringBoot 框架完成的, 而 Python 自去年到现在,一直以来,都是玩着学的,没有想过要应用到项目上。 但近来,科技园这边的吴老师,建议项目中使用 Python 的 Django 框架做后台,因其容易拓展、维护等,这是笨重的 Java 难以企及的。 是时候认真对待 Python ,近来其也火得不行了~ 花了一天跳读了一本评价极好的书《Python编程从入门到


  • Java与Python中单例模式的区别

    发布:2021-04-27

    本文实例讲述了Java与Python中单例模式的区别。分享给大家供大家参考,具体如下:


  • python接单平台简单整理

    发布:2019-12-14

    学习编程不仅仅可以让你找到一份高薪的工作,而且如果你并不打算转行或者还在校学生的话,你可以考虑在网上接一些Python相关的小单子,不仅可以给自己练手,还能赚钱。接单网站很多,比


  • python字典操作提取key,value的代码分享

    发布:2020-02-06

    这篇文章主要介绍了python 字典操作提取key,value的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • 深入了解Python iter() 方法的用法

    发布:2022-12-05

    给网友朋友们带来一篇关于Python 的教程,这篇文章主要介绍了深入了解Python iter() 方法的知识,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下


  • Python中sqrt函数使用方法

    发布:2020-01-22

    sqrt函数不可直接访问,需要导入math模块,然后需要使用math静态对象调用此函数,即先import math,然后再调用math.sqrt(x)。它返回数字x的平方根且x0。


  • 在VScode里面添加Python解释器的详细步骤

    发布:2023-03-23

    VScode编辑器在安装好Python插件之后会自动选择环境变量中排序最高的那一个解释器作为默认解释器,而想要额外添加新的Python解释器就需要自己设置,接下来通过本文给大家分享VScode添加Python解释器的方法,感兴趣的朋友一起看看吧


网友讨论