设为首页 加入收藏

TOP

hand first python 选读(2)(三)
2018-12-16 20:08:35 】 浏览:176
Tags:hand first python 选读

输出成功

把格局拉高点吧,这仍然是一个高度定制化的代码。

pickle库的使用

pickle库介绍

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

pickle模块实现了基本的数据序列化和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。

一、内存中操作:

import pickle
#dumps 转化为二进制文件
li = [11,22,33]
r = pickle.dumps(li)
print(r)

#loads 将二进制数据编译出来
result = pickle.loads(r)
print(result)

二、文件中操作:

#dump:以二进制形式打开(读取:rb,写入wb)文件
li = [11,22,33]
pickle.dump(li,open('db','wb'))

#load
ret = pickle.load(open('db','rb'))
print(ret)

把二进制文件写入文件中:

    try:
        with open('lilei.txt','wb') as _lilei:
            # utils.flatten(lilei,True,0,_lilei)
            pickle.dump(lilei,_lilei)
        with open('hanmeimei.txt','wb') as _hanmeimei:        
            # utils.flatten(hanmeimei, True, 0, _hanmeimei)
            pickle.dump(hanmeimei,_hanmeimei)
        print('works completed.')
    except IOError as err:
        print('file error.'+str(err))
    
    except pickle.PickleError as pError:
        print('err:'+str(pError))

数据已经被写入。

举例说:如何打开lileii.txt并正确编译呢?

new_lilei=[]
try:
    with open('lilei.txt','rb') as _new_lilei:
        new_lilei = pickle.load(_new_lilei)
        print(utils.flatten(new_lilei))
except IOError as io:
    print('err:'+str(io))
except pickle.PickleError as pError:
    print('pickleError'+str(pError))

测试成功。

用pickle的通用io才是上策。

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python学习之旅(三十五) 下一篇【python】"no encoding dec..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目