python pickle 和 shelve模块的用法

yipeiwu_com6年前Python基础

1.pickle

   写: 以写方式打开一个文件描述符,调用pickle.dump把对象写进去

复制代码 代码如下:

    dn = {'baidu':'www.baidu.com','qq':'www.qq.com','360':'www.360.cn'}

    name = ['mayun','mahuateng','liyanhong']

    f = open(r'C:\a.txt','w')

    pickle.dump(dn,f)      ##写一个对象

    pickle.dump(name,f)  ##再写一个对象

    f.close() 

   读:以读的方式打开文件描述符,调用pickle.load加载对象

    f = open(r'C:\a.txt')

    pickle.load(f)             ##加载一个对象

    pickle.load(f)             ##加载另一个对象

    f.close()


2.shelve

   shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写

复制代码 代码如下:

   f = shelve.open(r'C:\b.txt')

   f  ##返回空字典

   f['baidu'] = 'www.baidu.com'

   f['qq'] = 'www.qq.com'

   f['360'] = 'www.360.cn'

   f  ##返回字典

   f.close()

   f = shelve.open(r'C:\b.txt')

   f ##返回字典f

相关文章

OpenCV模板匹配matchTemplate的实现

OpenCV模板匹配matchTemplate的实现

作用有局限性,必须在指定的环境下,才能匹配成功,是受到很多因素的影响,所以有一定的适应性 模板匹配是一种最原始、最基本的模式识别方法,研究某一特定对象物的图案位于图像的什么地方,进而识别...

Python Unittest根据不同测试环境跳过用例的方法

Python Unittest根据不同测试环境跳过用例的方法

前言 在利用单元测试框架执行测试用例的过程中,有时只需要执行一部分用例,或者跳过某些暂不需要执行的用例,python的unittest框架就内置这样的功能。 本文章会讲述以下几个内容:...

对于Python中线程问题的简单讲解

我们将会看到一些在Python中使用线程的实例和如何避免线程之间的竞争。你应当将下边的例子运行多次,以便可以注意到线程是不可预测的和线程每次运行出的不同结果。声明:从这里开始忘掉你听到过...

EM算法的python实现的方法步骤

EM算法的python实现的方法步骤

前言:前一篇文章大概说了EM算法的整个理解以及一些相关的公式神马的,那些数学公式啥的看完真的是忘完了,那就来用代码记忆记忆吧!接下来将会对python版本的EM算法进行一些分析。 EM的...

详解使用 pyenv 管理多个版本 python 环境

 随着同时开发的项目越来越多,需要不停的在各个不同版本的 python 环境之间切换,所以想到了pyenv。以前一直使用的 virtualenv只能管理同一个 python 版...