Python_pickle模块操作二进制文件

 1 import pickle
 2 
 3 b=7
 4 i=13000000
 5 fa=99.056
 6 s='中国人民 123abc'
 7 lst=[[1,2,3],[4,5,6],[7,8,9]]
 8 tu=(-5,10,8)
 9 coll={4,5,6}
10 dic={'a':'apple','b':'banana','g':'grape','o':'orange'}
11 f=open('sample_pickle.dat','wb')    #以写模式打开二进制文件
12 try:
13     pickle.dump(b,f)    #对象个数
14     pickle.dump(i,f)    #写入整数
15     pickle.dump(fa,f)    #写入字符串
16     pickle.dump(s,f)    #写入浮点数
17     pickle.dump(lst,f)  #写入列表
18     pickle.dump(tu,f)   #写入元组
19     pickle.dump(coll,f) #写入集合
20     pickle.dump(dic,f)  #写入字典
21 except:
22     print('写文件异常')
23 finally:
24     f.close()
25 
26 '''
27 使用pickle模块读取'sample_pickle.dat'内的二进制内容
28 '''
29 f=open('sample_pickle.dat','rb')
30 n=pickle.load(f)    #读出文件的数据个数
31 for i in range(n):
32     x=pickle.load(f)
33     print(x)
34 f.close()
35 
36 '''输出
37 13000000
38 99.056
39 中国人民 123abc
40 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
41 (-5, 10, 8)
42 {4, 5, 6}
43 {'a': 'apple', 'b': 'banana', 'g': 'grape', 'o': 'orange'}
44 '''

 将文本文件转化为二进制文件

 1 '''
 2 将文本文件转化为二进制文件
 3 '''
 4 with open('test.txt')as src,open('test_pickle.dat','wb')as dest:
 5     lines=src.readline()
 6     pickle.dump(len(lines),dest)
 7     for line in lines:
 8         pickle.dump(line,dest)
 9 with open('test_pickle.dat','rb')as fp:
10     n=pickle.load(fp)
11     for i in range(n):
12         print(pickle.load(fp))

 

posted @ 2017-06-11 22:23  JustLittle  阅读(16589)  评论(2编辑  收藏  举报