| 
 
	积分3625贡献 精华在线时间 小时注册时间2014-10-21最后登录1970-1-1 
 | 
 
| 
本帖最后由 15195775117 于 2021-1-31 00:17 编辑
x
登录后查看更多精彩内容~您需要 登录 才可以下载或查看,没有帐号?立即注册 
  
 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了
 
 
 | 
 |