1. #json 是用来序列化对象的
  2. # 只有2个方法,序列化与反序列化
  3. # 但是不能序列化类 与 函数
  4.  
  5. import json
  6. dict={"key1":[1,2,3,4,5]}
  7. f = open("json.test","w",encoding="utf8")
  8. dict=json.dumps(dict)
  9. f.write(dict)
  10. f.close()
  1. import json
  2. f = open("json.test","r",encoding="utf8")
  3. dict = json.loads(f.read())
  4. print(dict)
  5. f.close()
  1. # pickle 用来以二进制的形式序列化函数和类的
  2. # "wb" 与“rb”
  3. # 二进制转化不能加字符编码的转化
  4. # picle loads回来的函数对象内存地址找不到了,需要在页面重新声明该函数对象。
  5.  
  6. def test():
  7. print("ok")
  8.  
  9. import pickle
  10. f = open("pickle.test","wb")
  11. data = pickle.dumps(test)
  12. f.write(data)
  13. f.close()
  1. import pickle
  2.  
  3. # 还原的话需要重新声明该函数对象,因为对象的内存地址在转化的过程中发生了改变了!
  4. def test():
  5. print("ok")
  6. f = open("pickle.test","rb")
  7. data = pickle.loads(f.read())
  8. data() #执行该函数
  9. f.close()
  1. import json
  2. dict={"key1":[1,2,3,4,5]}
  3. f = open("json.test","w",encoding="utf8")
  4. # dict=json.dumps(dict)
  5. # f.write(dict)#
  6. #将上述2步骤进行替换 dump()的区别
  7. json.dump(dict,f)
  8. f.close()
  1. import json
  2. f = open("json.test","r",encoding="utf8")
  3. # dict = json.loads(f.read())
  4. # print(dict)
  5. data=json.load(f)
  6. print(data)
  7. f.close()
  1. # shelve 针对创建的文本内容进行一个修改的时候,这个模块是比较灵活的
  2. # shelve.open("test.txt")
  3. # f.get("shabi","woca") 获取的键值不存在就返回指定的参数,这个很重要,经常使用
  4.  
  5. import shelve
  6.  
  7. f = shelve.open("test.txt")
  8. f['info'] = {"name":"alex","age":""}
  9. f['zhut'] = {"age":"","shangtai":"关系"}
  10. print(f.get("info")["name"])
  11. print(f.get("shabi","woca"))

python值json与pickle模块的更多相关文章

  1. python之json、pickle模块

    一.json模块 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不过,eval方法是有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候, ...

  2. python(6)- json和pickle模块

    这是用于序列化的两个模块: json: 用于字符串和python数据类型间进行转换 pickle: 用于python特有的类型和python的数据类型间进行转换 Json模块提供了四个功能:dumps ...

  3. python基础-json、pickle模块

    json.pickle区别 总结: """ json: 1.不是所有的数据类型否可以序列化,序列化返回结果为字符串 2.不能多次对同一文件序列化 3.json数据可以跨语 ...

  4. python 之 json 与pickle 模块

    序例化:将对象转换为可通过网络传输或可以存储到本地磁盘的数据格式(如:XML.JSON或特定格式的字节串)的过程称为序列化:反之,则称为反序列化. 1.[JSON] import json dic={ ...

  5. Python之时间模块、random模块、json与pickle模块

    一.时间模块 1.常用时间模块 import time # 时间分为三种格式 #1.时间戳---------------------以秒计算 # start= time.time() # time.s ...

  6. python模块(json和pickle模块)

    json和pickle模块,两个都是用于序列化的模块 • json模块,用于字符串与python数据类型之间的转换 • pickle模块,用于python特有类型与python数据类型之间的转换 两个 ...

  7. Python json和pickle模块

    用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps. ...

  8. python常用模块之json、pickle模块

    python常用模块之json.pickle模块 什么是序列化? 序列化就是把内存里的数据类型转换成字符,以便其能存储到硬盘或者通过网络进行传输,因为硬盘或网络传输时只接受bytes. 为什么要序列化 ...

  9. python-时间模块,random、os、sys、shutil、json和pickle模块

    一.time与datetime模块 time模块: 时间戳:表示的是从1970年1月1日00:00:00开始按秒计算的偏移量,返回类型为float类型 格式化时间字符串(Format String) ...

随机推荐

  1. js小笔记

    1.let ,const,var 区别 let:块级作用域,if,for,用完就不存在了. const:用来定义常量. var: 声明的变量在它所声明的整个函数都是可见的. 2.==和===的区别 1 ...

  2. Python编程中出现ImportError: bad magic number in 'numpy': b'\x03\xf3\r\n'

    在终端输入ls -a 会出现一个.pyc的文件,将文件删掉

  3. 使用boost.python封装C++库

    使用boost.python封装C++库 C++以高性能著称,但是编写较为复杂.而简洁是Python的强项.如果能珠联璧合,就能发挥两家之长.本文尝试用boost库的python模块封装C++ 前期准 ...

  4. python学习:常量和变量

    变量的作用:存储信息,日后被调用和修改操作. 常量:固定不变得量,字母要大些. 变量的命名规则: 1.由字母数字下划线组成: 2.不能以数字开头,不能含有特殊字符和空格: 3.不能以保留字命名: 4. ...

  5. Android常用的工具类SharedPreferences封装类SPUtils

    package com.zhy.utils; import java.lang.reflect.InvocationTargetException; import java.lang.reflect. ...

  6. php composer windows安装

    2018年6月22日10:40:49 笔记 1.先下载Composer-Setup.exe,下载地址:http://docs.phpcomposer.com/00-intro.html#Install ...

  7. dynamic 类型不能访问属性

    x //解决方案ProjectTest.项目A里面public object r(){ ,name = "zf"}; } //解决方案ProjectTest.项目B里面 publi ...

  8. Windows 上编译 corefx 源码生成 Linux 上可用的 System.Data.SqlClient.dll

    最近在排查一个奇怪的 EF Core 查询速度慢的问题,需要在 corefx 2.2.3 的 System.Data.SqlClient 源码中打点. github 上签出 corefx 的源代码,运 ...

  9. php删除文件夹

    function deldir($dir) { $dh=opendir($dir); while ($file=readdir($dh)) { if($file!="." & ...

  10. 数位DP HDU - 2089 不要62

    不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...