之前用 R 语言一直感觉 .Rdata 格式的文件很好用,可以把每次执行的中间文件保存便于下次调用,刚熟悉 Python 还没接触这块知识,所以有时候做项目不太顺手,索性上网搜了下,整理如下:

模型存档

#############
# joblib 库
from sklearn.linear_model import LogisticRegression
from sklearn.externals import joblib
# 模型保存
lr_model = LogisticRegression()
joblib.dump(lr_model, 'xx.model')
# 模型载入
lr_model = joblib.load('xx.model') #############
# pickle 库
# 模型保存
import pickle
with open('lr_model.pickle', 'wb') as fp:
pickle.dump(lr_model, fp)
# 模型载入
with open('lr_model.pickle', 'rb') as fp:
lr_model = pickle.load(fp) 

  命令行参数解析

import argparse

# 定义参数解析
def build_arg_parser():
parser = argparse.ArgumentParser(description='Trains the classifier')
parser.add_argument("--feature-map-file", dest="feature_map_file", required=True,
help="Input pickle file containing the feature map")
parser.add_argument("--model-file", dest="model_file", required=False,
help="Output file where the trained model will be stored")
return parser args = build_arg_parser().parse_args()
feature_map_file = args.feature_map_file
model_file = args.model_file

  

对象保存

#############
# pickle 库
import pickle
x, y = 1, range(10)
with open('xx.pickle', 'wb') as fp:
# 通过传递protocol = -1到dump()来减少文件大小
pickle.dump([x, y], fp)
# 对象载入
with open('xx.pickle', 'rb') as fp:
x, y = pickle.load(fp)
print(x) #############
# _pickle 库
# 对象保存
import _pickle as cpickle
x, y = 1, range(10)
with open('xx.pickle', 'wb') as fp:
# 通过传递protocol = -1到dump()来减少文件大小
cpickle.dump([x, y], fp)
# 对象载入
del x, y
with open('xx.pickle', 'rb') as fp:
x, y = cpickle.load(fp)
print(x) ############
# dill 库
import dill
# 文件保存
filename = 'globalsave.pkl'
dill.dump_session(filename)
# 文件载入
dill.load_session(filename) ############
# 其他库如:pmml,shelve

  

  

python 保存对象文件的更多相关文章

  1. python 保存csv文件

    利用pandas库, 将numpy的array数据保存成csv格式的文件: import pandas as pd import numpy as np data = pd.read_csv('C:\ ...

  2. Python保存json文件并格式化

    使用json.dump()的时候设置一下indent参数的值就好了.比如json.dump(json_dict, f, indent=4), ensure_ascii=False,写入中文

  3. Python强化训练笔记(七)——使用deque队列以及将对象保存为文件

    collections模块中的deque对象是一个队列,它有着正常队列的先进先出原则.我们可以利用这个对象来实现数据的保存功能. 例如,现有一个猜数字大小的游戏,系统开始会随机roll点一个0-100 ...

  4. Python之对象的永久保存模块---pickle

    经常遇到在Python程序运行中得到了一些字符串.列表.字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据. 这个时候Pickle模块就派上用场了,它可以将对象转换 ...

  5. Python爬虫教程-14-爬虫使用filecookiejar保存cookie文件(人人网)

    Python爬虫教程-14-爬虫使用filecookiejar保存cookie文件(人人网) 上一篇介绍了利用CookieJar访问人人网,本篇将使用filecookiejar将cookie以文件形式 ...

  6. 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本

    摘自:http://blog.csdn.net/forandever/article/details/5711319 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 ...

  7. python中 对文件的读写操作 以及如何边写入 边保存flush()

    转自:https://blog.csdn.net/t8116189520/article/details/78854708 首先 python中打开文件大致常用的几类如下: 1.写入文件write # ...

  8. python基础语法19 面向对象总结,pickle保存对象注意事项

    面向对象的三大特性: 继承,封装,多态 多态的三种表现形式:鸭子类型,继承父类,继承抽象类 pickle保存对象注意事项 class Foo: y = 20 def __new__(cls, *arg ...

  9. python保存文件到数据库

    效果 model class WEIGUI_IMG(Base): __tablename__ = 'DW_ZHS_D_WEIGUI_IMG' # 表名 id = Column(), primary_k ...

随机推荐

  1. Pandas 基础(8) - 用 concat 组合 dataframe

    以各个城市的天气为例, 先准备下面的数据: 印度天气的相关信息: import pandas as pd india_weather = pd.DataFrame({ 'city': ['mumbai ...

  2. sublime text 3 显示空格和Tab

    tab对于需要 共享 的代码而言是灾难. pyhton对这点的明确要求是不要混合使用4个空格和tab键. 只使用二者之一,都是没有问题的.如果一个python代码已经完成的部分,都是使用的4个空格.那 ...

  3. Ubuntu 停止 mydesktop 服务

    systemctl list-unit-files | grep mydesktop systemctl disable mydesktop.service

  4. Orchard是如何呈现内容的

    首先Orchard是一个建立在ASP.NET MVC框架上的CMS应用框架.Orchard在呈现内容的时候也遵循MVC的规律,也是通过Controller来处理Url请求并决定用那个View来呈现那种 ...

  5. LeetCode--024--两两交换链表中的节点(java)

    给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. 示例: 给定 1->2->3->4, 你应该返回 2-&g ...

  6. Log4Net 添加自定义字段并保存到数据库

    Log4Net是常用的功能强大的日志插件,该插件提供了几个默认字段 大家可能都用过Log4Net插件来记录日志,该插件默认提供了这几个字段@log_date, @thread, @log_level, ...

  7. yii2restful规范的api使用

    说明:restful是一套优秀的接口调用规范. 使用规范: 1,安装yii2 使用composer安装 安装完 Composer,运行下面的命令来安装 Composer Asset 插件: php c ...

  8. 阿里云ssh断开处理办法

    一.背景说明 1.1 墙外的吐槽 云是个好东西但我一直不觉是个有那么好的东西,因为就较多次的体验来看,用得很难受:如果要我来选我宁愿自建机房.要说难受的具体原因原来倒是没想得很清楚,现在想来网速慢不是 ...

  9. JDBC数据库连接工具

    什么是JDBC? JDBC是一种可以执行sql语句的Java API,提供对数据库的访问方法. 什么是JDBC驱动? JDBC连接数据库需要驱动,驱动是两个设备要进行通信,满足一定的数据驱动格式.一般 ...

  10. commons-lang3工具类学习(三)

    六.ObjectUtils Object工具类 allNotNull(Object... values) 检查所有元素是否为空,返回一个boolean 如果有一个元素为空返回false,所有元素不为空 ...