扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
通常涉及到 dump 这种字眼的都是格式的好处, 比如说 json.dumps 是 json 专属的格式, 而不是随便的格式。pickle 也一样, object 有它的特定的格式才能储存。
创新互联公司主营和硕网站建设的网络公司,主营网站建设方案,成都APP应用开发,和硕h5微信小程序定制开发搭建,和硕网站营销推广欢迎和硕等地区企业咨询
1) 保存"object/程序状态",就算启电脑也还可以再用。
2) tcp 传送给其它系统 (marshalling),
3) 保存 objects 在数据
4) 保存 object 去 string 当成 dict key 用
5)
Python机器学习预测数据可以通过使用Python的内置函数或第三方库来导出。例如,可以使用Pandas库的to_csv()函数将预测数据导出为CSV文件,使用NumPy库的savetxt()函数将预测数据导出为文本文件,或者使用Scikit-learn库的joblib.dump()函数将预测数据导出为二进制文件。
python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。
基本接口:
pickle.dump(obj, file, [,protocol])
注解:将对象obj保存到文件file中去。
protocol为序列化使用的协议版本,0:ASCII协议,所序列化的对象使用可打印的ASCII码表示;1:老式的二进制协议;2:2.3版本引入的新二进制协议,较以前的更高效。其中协议0和1兼容老版本的python。protocol默认值为0。
file:对象保存到的类文件对象。file必须有write()接口, file可以是一个以'w'方式打开的文件或者一个StringIO对象或者其他任何实现write()接口的对象。如果protocol=1,文件对象需要是二进制模式打开的。
pickle.load(file)
注解:从file中读取一个字符串,并将它重构为原来的python对象。
file:类文件对象,有read()和readline()接口。
A Simple Code
#使用pickle模块将数据对象保存到文件
import pickle
data1 = {'a': [1, 2.0, 3, 4+6j],
'b': ('string', u'Unicode string'),
'c': None}
selfref_list = [1, 2, 3]
selfref_list.append(selfref_list)
output = open('data.pkl', 'wb')
# Pickle dictionary using protocol 0.
pickle.dump(data1, output)
# Pickle the list using the highest protocol available.
pickle.dump(selfref_list, output, -1)
output.close()
#使用pickle模块从文件中重构python对象
import pprint, pickle
pkl_file = open('data.pkl', 'rb')
data1 = pickle.load(pkl_file)
pprint.pprint(data1)
data2 = pickle.load(pkl_file)
pprint.pprint(data2)
pkl_file.close()
#encoding:UTF-8
import pickle
#序列化
def dump_pickle():
user={}
user['id']=1
user['name']='tanweijie'
user['email']='tanweijie@outlook.com'
user['sex']='boy'
#with保证自动关闭文件
#设置文件模式为'wb'来以二进制写模式打开文件
with open('C:/Users/Mr_Tank_/Desktop/user.pickle','wb') as f:
#dump()函数接受一个可序列化的Python数据结构
pickle.dump(user,f)
print('success')
#反序列化
def load_pickle():
with open('C:/Users/Mr_Tank_/Desktop/user.pickle','rb') as f:
user=pickle.load(f)
#user变量是一个字典
print(user)
print_r() 和 var_dump() 函数可以打印输出整个数组内容及结构。
print_r()
利用 print_r() 函数可以打印输出整个数组内容及结构,按照一定格式显示键和元素。注意 print_r() 函数不仅是只用于打印,实际它是用于打印关于变量的易于理解的信息。
语法:
bool print_r( mixed expression )例子:
?php $arr_age = array(18, 20, 25); print_r($arr_age); ?
运行该例子输出:
Array ( [0] = 18 [1] = 20 [2] = 25 ) 查看输出结果的网页源代码,可以看到更易读的格式:
Array ( [0] = 18 [1] = 20 [2] = 25 ) var_dump()
同 print_r() 函数一样,var_dump() 函数也可以用于打印数组的数据及结构。不过 var_dump() 函数功能比 print_r() 更强大,可以同时打印多个变量且给出变量的类型信息。
例子:
?php $arr_age = array(18, 20, 25); var_dump($arr_age); ?
运行该例子输出:
array(3) { [0]= int(18) [1]= int(20) [2]= int(25) }
print_r() 和 var_dump() 函数一般是用于调试程序使用,更多情况是使用 echo 来输出具体的数组单元值。
##调用json.dump函数就行了,下面是一个例子
import json
##将FileName指定为你的文件的实际路径
FileName='t.txt'
lst=[{'name':'lili','age':25},{'name':'gg','age':18}]
with open(FileName,'w') as f:
json.dump(lst,f)
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流