python值json与pickle模块
- #json 是用来序列化对象的
- # 只有2个方法,序列化与反序列化
- # 但是不能序列化类 与 函数
- import json
- dict={"key1":[1,2,3,4,5]}
- f = open("json.test","w",encoding="utf8")
- dict=json.dumps(dict)
- f.write(dict)
- f.close()
- import json
- f = open("json.test","r",encoding="utf8")
- dict = json.loads(f.read())
- print(dict)
- f.close()
- # pickle 用来以二进制的形式序列化函数和类的
- # "wb" 与“rb”
- # 二进制转化不能加字符编码的转化
- # picle loads回来的函数对象内存地址找不到了,需要在页面重新声明该函数对象。
- def test():
- print("ok")
- import pickle
- f = open("pickle.test","wb")
- data = pickle.dumps(test)
- f.write(data)
- f.close()
- import pickle
- # 还原的话需要重新声明该函数对象,因为对象的内存地址在转化的过程中发生了改变了!
- def test():
- print("ok")
- f = open("pickle.test","rb")
- data = pickle.loads(f.read())
- data() #执行该函数
- f.close()
- import json
- dict={"key1":[1,2,3,4,5]}
- f = open("json.test","w",encoding="utf8")
- # dict=json.dumps(dict)
- # f.write(dict)#
- #将上述2步骤进行替换 dump()的区别
- json.dump(dict,f)
- f.close()
- import json
- f = open("json.test","r",encoding="utf8")
- # dict = json.loads(f.read())
- # print(dict)
- data=json.load(f)
- print(data)
- f.close()
- # shelve 针对创建的文本内容进行一个修改的时候,这个模块是比较灵活的
- # shelve.open("test.txt")
- # f.get("shabi","woca") 获取的键值不存在就返回指定的参数,这个很重要,经常使用
- import shelve
- f = shelve.open("test.txt")
- f['info'] = {"name":"alex","age":""}
- f['zhut'] = {"age":"","shangtai":"关系"}
- print(f.get("info")["name"])
- print(f.get("shabi","woca"))
python值json与pickle模块的更多相关文章
- python之json、pickle模块
一.json模块 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不过,eval方法是有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候, ...
- python(6)- json和pickle模块
这是用于序列化的两个模块: json: 用于字符串和python数据类型间进行转换 pickle: 用于python特有的类型和python的数据类型间进行转换 Json模块提供了四个功能:dumps ...
- python基础-json、pickle模块
json.pickle区别 总结: """ json: 1.不是所有的数据类型否可以序列化,序列化返回结果为字符串 2.不能多次对同一文件序列化 3.json数据可以跨语 ...
- python 之 json 与pickle 模块
序例化:将对象转换为可通过网络传输或可以存储到本地磁盘的数据格式(如:XML.JSON或特定格式的字节串)的过程称为序列化:反之,则称为反序列化. 1.[JSON] import json dic={ ...
- Python之时间模块、random模块、json与pickle模块
一.时间模块 1.常用时间模块 import time # 时间分为三种格式 #1.时间戳---------------------以秒计算 # start= time.time() # time.s ...
- python模块(json和pickle模块)
json和pickle模块,两个都是用于序列化的模块 • json模块,用于字符串与python数据类型之间的转换 • pickle模块,用于python特有类型与python数据类型之间的转换 两个 ...
- Python json和pickle模块
用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps. ...
- python常用模块之json、pickle模块
python常用模块之json.pickle模块 什么是序列化? 序列化就是把内存里的数据类型转换成字符,以便其能存储到硬盘或者通过网络进行传输,因为硬盘或网络传输时只接受bytes. 为什么要序列化 ...
- python-时间模块,random、os、sys、shutil、json和pickle模块
一.time与datetime模块 time模块: 时间戳:表示的是从1970年1月1日00:00:00开始按秒计算的偏移量,返回类型为float类型 格式化时间字符串(Format String) ...
随机推荐
- js小笔记
1.let ,const,var 区别 let:块级作用域,if,for,用完就不存在了. const:用来定义常量. var: 声明的变量在它所声明的整个函数都是可见的. 2.==和===的区别 1 ...
- Python编程中出现ImportError: bad magic number in 'numpy': b'\x03\xf3\r\n'
在终端输入ls -a 会出现一个.pyc的文件,将文件删掉
- 使用boost.python封装C++库
使用boost.python封装C++库 C++以高性能著称,但是编写较为复杂.而简洁是Python的强项.如果能珠联璧合,就能发挥两家之长.本文尝试用boost库的python模块封装C++ 前期准 ...
- python学习:常量和变量
变量的作用:存储信息,日后被调用和修改操作. 常量:固定不变得量,字母要大些. 变量的命名规则: 1.由字母数字下划线组成: 2.不能以数字开头,不能含有特殊字符和空格: 3.不能以保留字命名: 4. ...
- Android常用的工具类SharedPreferences封装类SPUtils
package com.zhy.utils; import java.lang.reflect.InvocationTargetException; import java.lang.reflect. ...
- php composer windows安装
2018年6月22日10:40:49 笔记 1.先下载Composer-Setup.exe,下载地址:http://docs.phpcomposer.com/00-intro.html#Install ...
- dynamic 类型不能访问属性
x //解决方案ProjectTest.项目A里面public object r(){ ,name = "zf"}; } //解决方案ProjectTest.项目B里面 publi ...
- Windows 上编译 corefx 源码生成 Linux 上可用的 System.Data.SqlClient.dll
最近在排查一个奇怪的 EF Core 查询速度慢的问题,需要在 corefx 2.2.3 的 System.Data.SqlClient 源码中打点. github 上签出 corefx 的源代码,运 ...
- php删除文件夹
function deldir($dir) { $dh=opendir($dir); while ($file=readdir($dh)) { if($file!="." & ...
- 数位DP HDU - 2089 不要62
不要62 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...