Python3基础 pickle.dump和load 对一个对象进行序列化存储及读取

?

  • ???????Python : 3.7.0
  • ?????????OS : Ubuntu 18.04.1 LTS
  • ????????IDE : PyCharm 2018.2.4
  • ??????Conda : 4.5.11
  • ???typesetting : Markdown

?

code

"""
@Author : 行初心
@Date   : 18-9-24
@Blog   : www.cnblogs.com/xingchuxin
@Gitee  : gitee.com/zhichengjiu
"""
import pickle

def main():
    # 要存储的列表
    my_list = [321, 654, 987, '行初心']

    # 将列表保存在这个文件中,文件的后缀名可以任意,因为起到的是提示作用
    # wb 写入 二进制
    save_file = open('my_list.pkl', 'wb')
    # 将列表写入文件
    pickle.dump(my_list, save_file)
    save_file.close()

    # 缩进还真不是可以随意的

    # 以二进制的方式读取
    pickle_file = open('my_list.pkl', 'rb')
    my_new_list = pickle.load(pickle_file)

    # 一定要注意 要写关闭文件
    pickle_file.close()
    print(my_new_list)

if __name__ == '__main__':
    main()

?

result

/home/coder/anaconda3/envs/py37/bin/python /home/coder/PycharmProjects/basic/demo.py
[321, 654, 987, '行初心']

Process finished with exit code 0

?

more knowledge

  • [2018-09-24] 程序运行完成后,用notepad打开my_list.pkl看看,是乱码吗?乱码是正常的吗?有没有一款编辑器,打开后是可阅读的呢?

?

resource

  • [文档] docs.python.org/3
  • [规范] www.python.org/dev/peps/pep-0008
  • [规范] zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_language_rules
  • [源码] www.python.org/downloads/source
  • [ PEP ] www.python.org/dev/peps
  • [平台] www.cnblogs.com
  • [平台] gitee.com

?



Python具有开源、跨平台、解释型、交互式等特性,值得学习。
Python的设计哲学:优雅,明确,简单。提倡用一种方法,最好是只有一种方法来做一件事。
代码的书写要遵守规范,这样有助于沟通和理解。
每种语言都有独特的思想,初学者需要转变思维、踏实践行、坚持积累。

原文地址:https://www.cnblogs.com/xingchuxin/p/10433441.html

时间: 2024-10-09 10:38:46

Python3基础 pickle.dump和load 对一个对象进行序列化存储及读取的相关文章

Python3基础 pickle.dump和load 读一个对象进行序列化存储及读取

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ code: import pickle #我要存储的列表 myList=[123,456,789,'舍名利'] #我要将列表保存在这个文件中,文件的后缀名可以任意,因为起到的是提示作用 #wb 写入 二进制 saveFile=open('myList.pkl','wb') #将列表写入文件

[Head First Python]4. pickle.dump pickle.load

sketch.py 1 #--*-- coding:utf-8 --*-- 2 import pickle 3 import nester 4 man = [] 5 other = [] 6 try: 7 data = open ("datafile.txt") 8 9 for each_line in data: 10 try: 11 (role, line_spoken) = each_line.split(":", 1) 12 line_spoken = li

Python pickle dump load

import pickle with open('mydata.pickle','wb') as mysavedata: pickle.dump([1,2,'three'], mysavedata) with open('mydata.pickle','rb') as myrestoredata: a_list=pickle.load(myrestoredata) print(a_list) import nester and print import pickle import nester

python3 jason & pickle

#Author by Andy#_*_ coding:utf-8 _*_import jsonimport pickledef sayhello(name): print('Hello %s' %name) return 'Hello %s' %name info={ 'name':'Andy', 'age':20, 'job':'doctor', } info1={ 'name':'Andy', 'age':20, 'job':'doctor', 'func':sayhello }# prin

Python3 json &pickle 数据序列化

json 所有语言通用的信息交换格式 json.dumps()将list列表.dict字典.元组.函数等对象转换为可以存储的字符格式存入文件 json.dump(数据对象名,已以写方式打开的对象) 直接写入,省略f.write()写法 这个过程称之为"序列化" json.loads("已读文件对象")将存入的数据类型列表.字典.函数等,读出来.还原为原来的数据类型. json.load("已打开文件对象")  这个过程叫做反序列化   pickl

python的json模块的dumps,loads,dump,load方法介绍

#Auther Bob#--*--conding:utf-8 --*-- #jshon这个模块就是做序列化处理的,主要用到json模块的四种方法 #1.dumps#2.loads#3.dump#4.load #先介绍dumps方法#通过jshon的dumps的模块可以把特定的对象序列化处理为字符串# import json # l1 = [1,2,3,454]# d1 = {'k1':'v1'}# ret = json.dumps(l1)# print(type(ret))# ret = jso

Python3 基础 —— 模块 Module 介绍

1.模块的作用 在交互模式下输出的变量和函数定义,一旦终端重启后,这些定义就都不存在了,为了持久保存这些变量.函数等的定义,Python中引入了模块(Module)的概念.一个Python模块其实就是一个脚本文件,具有后缀".py",例如 hello.py 就是一个模块文件名,和普通文件一样可以被永久保存在本地存储磁盘中. 2.模块的内容 Python模块中存放的是一些程序代码,例如,变量定义.函数定义或是代码语句.下面是hello.py模块的内容,其中有一个变量 a,一个函数 fun

Python基础--Python3基础语法

Python3 基础语法 编码 默认情况下,Python3源码文件以UTF-8编码,所有字符串都是Unicode字符串.当然也可以为源码文件指定不同的编码,例如: # -*- coding: cp-1252 -*- 标识符 1.第一个字符必须是字母表中字母或下划线: 2.标识符的其他的部分有字母.数字和下划线组成: 3.标识符对大小写敏感. 注:在Python3中,非ASCII标识符也是允许的. Python保留字 保留字即关键字,我们不能把它们用作任何标识符名称.Python的标准库提供了一个

Linux基础之dump和restore

备份:dump 利用dump备份目录时,有以下限制: o  所有癿备份数据都必项要在该目录 (本例为:/home/someone/) 底下: o  且仅能使用 level 0 ,亦即仅支持完整备份而已: o  支持 -u 选顷,亦即无法建立 /etc/dumpdates 这个各别 level 备份的时间记录文件: [[email protected] ~]# dump [-Suvj] [-level] [-f 备份档] 待备份资料 [[email protected] ~]# dump -W 选