#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模块的更多相关文章

  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. sql修改一个字段多个值

    UPDATE 表名 SET 修改的字段=REPLACE(修改的字段,'修改的值','新值');

  2. gets()的替代问题

    gets()的替代方法 1.<iostream>中getline (char* s, streamsize n) 2.scanf("%[^\n]",s);

  3. CodeForces - 1025C 字符串处理,画一个圆。。。

    题目链接: https://vjudge.net/problem/1810469/origin 题目大意: 给你一个字符串,中间切一刀,左右两边均反转,然后右边的串拼接到左边上. 思路: 比如  aa ...

  4. NOIP2017 d1t2 时间复杂度

    题目传送门:洛谷P3952 大模拟不解释 #include<iostream> #include<cstdio> #include<cmath> #include& ...

  5. 作用域和闭包(二)this

    this 要在执行时才确认,定义时无法确认 1. 作为构造函数执行 2. 作为对象属性执行 3.作为普通函数执行 4. call,apply,bind 改变this

  6. HTML5_canvas 画布

    <canvas></canvas> 画布 <canvas id="my_canvas" width="400" height=&q ...

  7. Java课程2019年3月开学测试

    一.登录界面 模板的验证方式已经写在了function里面,我们只需要在提交的过程中进行验证. 我们这里需要注意到的是在login文件夹中,有一个randcode的验证码生成文件,打开代码我们可以看到 ...

  8. 双向数据绑定原生js

    let data = {} const input = document.getElementsByClassName('input')[0]; Object.defineProperty(data, ...

  9. php正则表达式 剔除字符串中 ,除了汉字的字符(只保留汉字) php 正则 只保留汉字,剔除所有符号

    <?php //提取字符串中的汉字其余信息剔除 $str='f龙,真 .,.,.?!::·…~&@#,.?!:;.……-&@#“”‘’〝 "〞'´'>< ...

  10. linux 软链接和硬链接的区别 和 inode 的理解

    软连接和硬连接的区别:1.创建的方式不同软:ln -s 源文件 连接名硬:ln 源文件 连接名 2.原理不同,和删除源文件对其的影响.硬连接的inode节点和源文件的inode节点一样.也就是同一个i ...