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))