python第十八天

学习内容:

json 模块,pickle模块,shelve模块

json 模块  序列化:

 1 import json,pickle
 2
 3 info={
 4     ‘name‘:‘a‘,
 5     ‘age‘:34,
 6     ‘func‘:‘‘
 7 }
 8 with open(‘text.txt‘,‘w‘) as f:
 9     #f.write(json.dumps(‘test.txt‘))#新建一文件用于存入序列化的数据
10     f.write(json.dumps(info))#序列化

json 模块  反序列化(从另一个程序打开文件):

1 import json,pickle
2 with open(‘text.txt‘,‘r‘)as f:
3
4     fp=json.loads(f.read())#反序列化
5
#fp=json.load(f)# 效果与loads一样
6 print(‘\033[32;1m%s\033[0m‘%fp)

pickle模块 用法,方法与jsong 一样(不同的是,pickle可以存对象格式,如有函数可以存函数的对象属性):

 1 def func1():
 2     print(‘1111111‘)
 3 info2={
 4        ‘name‘:‘a‘,
 5     ‘age‘:34,
 6     ‘func‘:func1
 7
 8 }
 9 with open(‘test‘,‘wb‘) as f2:
10     f2.write(pickle.dumps(info2))# ===pickle.dump(info2,f2)  效果一样

pickle模块 反序列化:

1 def func1():
2     pass
3
4 with open(‘test‘,‘rb‘) as f2:
5     c=pickle.load(f2)
6     #c=pickle.loads(f2.read())#效果与loads一样
7
8 print(c)

shelve模块(相当于可以多次ldump,和load):

shelve采用key与vaule对应的字典方式,通过文件对数据进行持久化--可以持久化任何pickle可支持的python数据格式:

 1 import shelve
 2
 3 def func_1(name,age):#定义一个函数
 4     print(name,age)
 5
 6 name=[‘a‘,‘b‘,‘c‘,‘d‘]#定义一个列表
 7 age=[1,2,3,4]
 8
 9 d=shelve.open(‘test_3.txt‘)#用shelve来打开文件
10
11 #将各个对象存入文件
12 d[‘name‘]=name
13 d[‘age‘]=age
14 d[‘func‘]=func_1
15 d.close()

shelve,反序列化:

 1 import shelve
 2 def func_1(name,age):#定义一个函数与shelve存入的函数名相同
 3     print(age)
 4 f=shelve.open(‘test_3.txt‘)#打开之前存入数据的文件
 5
 6 name=f[‘name‘]#提取出对应的数据name
 7 print(name)
 8
 9 age=f[‘age‘]#提取出对应的数据age
10 func_1=f[‘func‘]#提取出对应的数据func_1
11 func_1(name,age)#提取出对应的数据
时间: 2024-08-26 20:10:03

python第十八天的相关文章

python第十八天(装饰器)

原文地址:https://www.cnblogs.com/wangyanpan/p/10041656.html

python学习第四十八天json模块与pickle模块差异

在开发过程中,字符串和python数据类型进行转换,下面比较python学习第四十八天json模块与pickle模块差异. json 的优点和缺点 优点  跨语言,体积小 缺点 只能支持 int str list tuple dict pickle 的优点和缺点 优点 专门为python设计,支持python所有的数据类型 缺点 只能python使用,存储数据占空间大 文章来自 www.96net.com.cn 原文地址:https://www.cnblogs.com/96net/p/97806

python第六十八天--第十二周作业

主题: 需求: 用户角色,讲师\学员, 用户登陆后根据角色不同,能做的事情不同,分别如下讲师视图 管理班级,可创建班级,根据学员qq号把学员加入班级 可创建指定班级的上课纪录,注意一节上课纪录对应多条学员的上课纪录, 即每节课都有整班学员上, 为了纪录每位学员的学习成绩,需在创建每节上课纪录是,同时 为这个班的每位学员创建一条上课纪录 为学员批改成绩, 一条一条的手动修改成绩学员视图提交作业查看作业成绩一个学员可以同时属于多个班级,就像报了Linux的同时也可以报名Python一样, 所以提交作

python第一百一十八天---ajax--图片验证码 + Session

原生AJAX Ajax主要就是使用 [XmlHttpRequest]对象来完成请求的操作,该对象在主流浏览器中均存在(除早起的IE),Ajax首次出现IE5.5中存在(ActiveX控件). 1.XmlHttpRequest对象介绍 XmlHttpRequest对象的主要方法: 1 XmlHttpRequest对象的主要方法: 2 a. void open(String method,String url,Boolen async) 3 用于创建请求 4 5 参数: 6 method: 请求方式

走入计算机的第三十八天(python的进程和协成))

一.进程 1.multiprocessing模块实现多进程并发. 1.1multiprocessing包是Python中的多进程管理包,与threading.Thread类似,它可以利用multiprocessing.Process对象来创建一个进程 该进程可以运行在Python程序内部编写的函数,属于父进程和子进程的关系.该Process对象与Thread对象的用法相同,也有start(), run(), join()的方法. 1.2Process类的简绍 构造方法: Process([gro

python学习之第十八天

本节内容 为什么要做监控? 常用监控系统设计讨论 监控系统架构设计 监控表结构设计 为什么要做监控? –熟悉IT监控系统的设计原理 –开发一个简版的类Zabbix监控系统 –掌握自动化开发项目的程序设计思路及架构解藕原则 常用监控系统设计讨论 Zabbix Nagios 监控系统需求讨论 1.可监控常用系统服务.应用.网络设备等 2.一台主机上可监控多个不同服务.不同服务的监控间隔可不同 3.同一个服务在不同主机上的监控间隔.报警阈值可不同 4.可以批量的给一批主机添加.删除.修改要监控的服务

python学习第十八天

js正则表达式 rep =/\d+/;  匹配规则同python://g为全局匹配.//i不区分大小写.//m多行匹配,匹配以指定字符开头或结尾时从字符串的每一行中去匹配:()代表分组,在匹配结果中再匹配一次 rep.test("") 检查字符串是否符合匹配规则 rep.exec() 将字符串中符合匹配规则的部分输出 前端组件 EasyUI  后台管理开发,修改麻烦 jQueryUI 后台管理开发,不是很好看 BootStrap 推荐使用 bxslider 轮播图插件 BootStra

python第四十八天--高级FTP

高级FTP服务器1. 用户加密认证2. 多用户同时登陆3. 每个用户有自己的家目录且只能访问自己的家目录4. 对用户进行磁盘配额.不同用户配额可不同5. 用户可以登陆server后,可切换目录6. 查看当前目录下文件7. 上传下载文件,保证文件一致性8. 传输过程中现实进度条9.支持断点续传10.用户操作日志 服务端 启动参数 start客户端 启动参数 -s localhost -P 9500 程序结构:seniorFTP/#综合目录|- - -ftp_client/#客户端程序目录| |-

Python初学者第十八天 函数(3)

18day 函数 1.作用域 Python中,一个函数就是一个作用域.所有的局部变量都是放在当前的作用域里面 代码定义完成后,作用域已经生成,作用域链向上查找 2.匿名函数 当需要暂时性的用到一个函数,用完后不再使用.可申明一个匿名函数(lambda). lambda函数:节省代码量,可不再需要定义一个函数,与其他方法一起搭配使用.如map() 3.高阶函数 变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数函数作为参数,这种函数就称为高阶函数. 满足以下任意一个条件,即是