用pickle,json 存取python变量到文件

本文通过实例演示了如何使用pickle和json模块在Python中保存和加载数据。介绍了pickle可以保存各种类型的数据,包括布尔值、整数、浮点数、复数、字符串、元组、列表、集合和字典等,并对比了pickle和json在数据存储上的区别。

使用pickle可以把变量按照原来的形式存入硬盘,不像写入到txt文本中,是以字符串的形式,读取之后还要转化,很麻烦。

下面用简单代码演示保存到文件和再从文件导入的过程。

import pickle

fruit=['a', 'b', 'c','1', '2', '3h']

print('dump fruit=',fruit)

with open('fruit.kinds','wb') as f:
    pickle.dump(fruit,f)
    
with open('fruit.kinds','rb') as f:
    fruit2=pickle.load(f)
    
print('load fruit2=',fruit2)

程序运行结果如下:

dump fruit= ['a', 'b', 'c', '1', '2', '3h']
load fruit2= ['a', 'b', 'c', '1', '2', '3h']

pickle 可以保存的变量如下:

  • Booleans,
  • Integers,
  • Floats,
  • Complex numbers,
  • (normal and Unicode) Strings,
  • Tuples,
  • Lists,
  • Sets, and
  • Dictionaries that ontain picklable objects.

tuples,lists,sets,dictionaries 必须包含的是上面可以pickle 的变量。

下面保存多个变量,稍微复杂点:

import pickle

fruit=['a', 'b', 'c','1', '2', '3h']
data=[1,2,3,6.2,6.1]

print('dump fruit=',fruit,data)

with open('fruit.kinds','wb') as f:
    pickle.dump((fruit,data),f)
    
with open('fruit.kinds','rb') as f:
    fruit2,data2=pickle.load(f)
    
print('load fruit2=',fruit2,data2)

运行结果如下:

dump fruit= ['a', 'b', 'c', '1', '2', '3h'] [1, 2, 3, 6.2, 6.1]
load fruit2= ['a', 'b', 'c', '1', '2', '3h'] [1, 2, 3, 6.2, 6.1]

也可以用json 方式存取到文件,方式一样,但是wb =>w, rb=>r ,只能文字方式保存。

import json

fruit=['a', 'b', 'c','1', '2', '3h']
data=[1,2,3,6.2,6.1]

print('dump fruit=',fruit,data)

with open('fruit.kinds','w') as f:
    json.dump((fruit,data),f)
    
with open('fruit.kinds','r') as f:
    fruit2,data2=json.load(f)
    
print('load fruit2=',fruit2,data2)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值