- 积分
- 3638
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-10-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 15195775117 于 2021-1-31 00:17 编辑
IDL中有个sav数据格式,可以保存数组、字符串、图形句柄、函数等等,十分便利,
使用python如果想得心应手,势必也需要一个这种格式,不然多个脚本共享数据就成了问题,
粗略查找,pickle模块好像可以肩负这个使命,主要参考一下的帖子:
pickle文件帖子
import pickle
#写文件
x1=[[1.1,2.2],[3.3,4.4]]
x2=['abc','def']
x3=(-5,10,8)
x4={4,5,6}
x5={'a':'apple','b':'banana','c':'grape'}
#以写模式打开二进制文件
f=open('sample_pickle.dat','wb')
pickle.dump(5,f)#第一个表示元素个数
pickle.dump(x1,f)
pickle.dump(x2,f)
pickle.dump(x3,f)
pickle.dump(x4,f)
pickle.dump(x5,f)
f.close()
#读取数据
f=open('sample_pickle.dat','rb')
n=pickle.load(f) #读出文件的数据个数
print('数量=',n)
for i in range(n):
x=pickle.load(f)
print(i,':',x)
f.close()
输出结果:
数量= 5
0 : [[1.1, 2.2], [3.3, 4.4]]
1 : ['abc', 'def']
2 : (-5, 10, 8)
3 : {4, 5, 6}
4 : {'a': 'apple', 'b': 'banana', 'c': 'grape'}
思考:
相比于sav格式,pickle似乎不能保存函数,而且需要给出变量个数
不过,一般我都把数据按结构体,即字典格式输出,变量个数就锁定为1了
|
|