pickle 有dump ,dumps ,load,loads等方法。区别在于dumps不会写入到文件。

 import pickle

 string = ['a', 2341, 'adsf']

 p_str= pickle.dumps(string)
print(p_str)
l_str = pickle.loads(p_str)
print(l_str) p_str1 = 'This is a test!'
with open('d:/python/pydev/day3/src/p.pkl', 'wb') as file:
pickle.dump(p_str1, file) with open('d:/python/pydev/day3/src/p.pkl', 'rb' ) as file1:
l_file = pickle.load(file1) print(l_file)

pickle

结果如下:

b'\x80\x03]q\x00(X\x01\x00\x00\x00aq\x01M%\tX\x04\x00\x00\x00adsfq\x02e.'
['a', 2341, 'adsf']
This is a test!

'''
The file argument must have a write() method that accepts a single bytes argument.
It can thus be an on-disk file opened for binary writing
'''

注意:pickle以二进制处理,所以文件打开方式应该加上b, 如'wb'.'rb'如果仅以w方式打开则会报错,这里可能理解有误,奇怪的是json用wb会报错,而w则正常。

 import json

 string = ['a', 2341, 'adsf']

 p_str= json.dumps(string)
print(p_str)
l_str = json.loads(p_str)
print(l_str) p_str1 = 'This is a test!'
with open('d:/python/pydev/day3/src/p.pkl', 'w') as file:
json.dump(p_str1, file) with open('d:/python/pydev/day3/src/p.pkl', 'r' ) as file1:
l_file = json.load(file1) print(l_file)

json

运行结果:

["a", 2341, "adsf"]
['a', 2341, 'adsf']
This is a test!

pickle是python特有的,而json支持语言很多。另外json dump的结果是可以直接读的,pickle则不行。

python3 pickle, json的更多相关文章

  1. Python3 的json 和 PHP的json

    Python3操作json的标准api库参考:https://docs.python.org/3/library/json.html#module-json >>> aa = ['/ ...

  2. Python3自定义json逐层解析器

    [本文出自天外归云的博客园] 用python3对json内容逐层进行解析,拿中国天气网的接口返回数据测试,代码如下: # -*- coding: utf-8 -*- import operator a ...

  3. python使用pickle,json等序列化dict

    import pickle, json, csv, os, shutil class PersistentDict(dict): ''' Persistent dictionary with an A ...

  4. python3.7 json模块

    #!/usr/bin/env python __author__ = "lrtao2010" #python3.7 json模块 ''' 要在不同的编程语言之间传递对象,就必须把对 ...

  5. python3之序列化(pickle&json&shelve)

    1.pickle模块 python持久化的存储数据: python程序运行中得到了一些字符串,列表,字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据.python ...

  6. python3模块: json & pickle

    概念: 序列化(Serialization): 将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON,XML等.反序列化就是从存储区域(JSON,XML)读取反序列化对象的 ...

  7. Python全栈--7模块--random os sys time datetime hashlib pickle json requests xml

    模块分为三种: 自定义模块 内置模块 开源模块 一.安装第三方模块 # python 安装第三方模块 # 加入环境变量 : 右键计算机---属性---高级设置---环境变量---path--分号+py ...

  8. python基础-7模块,第三方模块安装方法,使用方法。sys.path os sys time datetime hashlib pickle json requests xml

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  9. 第二十一天,pickle json xml shelve configparser模块

    今日内容 1.pcikle 专用于python语言的序列化 2.json 是一种跨平台的数据格式 也属于序列化的一种方式 3.xml 可拓展标记语言 一种编写文档的语法 也支持跨平台 比较json而言 ...

随机推荐

  1. mybatis 中的稍微复杂些的sql语句

    mybatis 中的稍微复杂些的sql语句: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYP ...

  2. synergy帮组提升办公效率

    这个synergy确实很不错哦,当你在办公室拥有两台或者多台电脑的时候,放在面前多台显示器,多个鼠标,多个键盘,但是你的桌面上,是不是多出了些你不需要看到的键盘或者鼠标?至少我是这样子的,我希望多个显 ...

  3. Object-C中需要注意的小细节

    --------------------------------------------关于命名------------------------------------------------- 1. ...

  4. UCloud内核热补丁技术揭秘

  5. Env:Cscope安装与配置

    1. 介绍 Cscope是类似于ctags一样的工具,但可认为他是ctags的增强版. 2. 安装 sudo apt-get install cscope 通过源码安装,参照http://blog.c ...

  6. [linux basic]基础--信号

    线程->信号信号,是unix和linux系统响应某些条件而产生的一个事件.接收到该信号的进程会相应地采取一些行动.raise生成表示一个信号的产生catch捕获表示接受到一个信号的产生:信号是由 ...

  7. 【mongodb系统学习之十二】mongodb修改数据(一)

    十二.mongodb修改数据:update 1).修改数据库数据:update:语法 db.collectionName.update({},{},boolean,boolean): 2).updat ...

  8. Exception error message with incorrect line number

    In Release mode the number in front of the exception is NOT the line of code. Instead it's an offset ...

  9. SecureCRT控制台显示中文字符的设置

  10. Hadoop使用lzo压缩格式

    在hadoop中搭建lzo环境: wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz export CFLAGS ...