在MATLAB中,保存和加载变量是非常简单的事情,使用一对save和load就可以。而对于python,操作就变得有些复杂了,一个文件似乎也只能保存一个变量。
import pickle
# 存储变量的文件的名字
filename = 'shoplist.data'
# 初始化变量
shoplist = ['apple', 'mango', 'carrot']
# 以二进制写模式打开目标文件
f = open(filename, 'wb')
# 将变量存储到目标文件中区
pickle.dump(shoplist, f)
# 关闭文件
f.close()
# 删除变量
del shoplist
# 以二进制读模式打开目标文件
f = open(filename, 'rb')
# 将文件中的变量加载到当前工作区
storedlist = pickle.load(f)
print(storedlist)
当然如果你安了sklearn,保存东西会简单一点。
from sklearn.externals import joblib
# 保存x
joblib.dump(x, 'x.pkl')
# 加载x
x = joblib.load('x.pkl')
对于dataframe或者numpy数据类型,也有自己的保存方法。
samples.to_pickle('samples')
pd.read_pickle('samples')
np.save('a', a)
a = np.load('a.npy')