今日内容 1.pcikle 专用于python语言的序列化 2.json 是一种跨平台的数据格式 也属于序列化的一种方式 3.xml 可拓展标记语言 一种编写文档的语法 也支持跨平台 比较json而言 属于重量级 4.shelve 及其简单的序列化模块 只用于python 5 confiqparser 配置文件解析模块 一 pickle pickle是一个用来序列化的模块 序列化是什么? 指的是将内存中的数据结构转化为一种中间格式 并存储到硬盘上 反序列化是什么? 将硬盘上存储的中间格式数据再还…
序列化是什么? 序列化指的是将内存中的数据结构转化为一种中间格式 并存储到硬盘上. 反序列化是什么? 将硬盘上存储的中间格式数据再还原为内存中的数据结构. 为什么要有序列化? 是为了将数据持久存储 较文件完成数据持久化存储   方便简单的多 序列化的四个函数: 序列化 反序列化 属性 dump load 自动封装 write 和 read dumps loads 不封装 序列化转字符串: dic = {'age': 23, 'job': 'student'} dic_str = json.dum…
一.shelve模块 shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型 import shelve f=shelve.open(r'sheve.txt') # f['stu1_info']={'name':'egon','age':18,'hobby':['piao','smoking','drinking']} # f['stu2_info']={'name':'gangdan','age':…
一.xml模块 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单, 但至今很多传统公司如金融行业的很多系统的接口还主要是xml. xml的格式如下,就是通过<>节点来区别数据结构的: <?xml version="1.0"?> <data> <country name="Liechtenstein"> <rank updated="yes">2…
json:# 是一种跨平台的数据格式 也属于序列化的一种方式pickle和shevle 序列化后得到的数据 只有python才可以解析通常企业开发不可能做一个单机程序 都需要联网进行计算机间的交互 JSON是什么?java script object notation 就是对象的表示法var obj={"name":"egon"}对于我们开发而言 json就是v一种通用的数据格式 任何语言都能解析js 中的数据类型 python中的数据类型{} 字典[] lists…
1.py文件自动创建的全局变量 print(vars()) 返回值:{'__name__': '__main__', '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000025471756E10>, '__cached__': None, '__doc__': None, '__file__': 'C:/Users/john/PycharmProjects…
XML 什么XML:全称 可扩展标记语言 标记指的是代表某种含义的字符 XML<> 为什么需要XML 为能够在不同的平台间继续数据的交换 为了使交换的数据能让对方看懂 就需要按照一定的语法规范来书写 XML语法格式: 一.任何的起始标签都必须有一个结束标签. <tagname></tagname> <tagname></tagname> <tagname/> 简化写法 二.可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标签…
内容梗概: 1. 什么是序列化 2. pickle(重点) 3. shelve 4. json(重点) 5. configparser模块 1. 什么是序列化 在我们存储数据或者网络传输数据的时候. 需要对我们的对象进行处理.把对象处理理成方便便存储和传输的数据格式.这个过程叫序列化.不同的序列化,结果也不同.但是目的是⼀样的. 都是为了存储和传输.在python中存在三种序列化方案. 1. pickle.可以将我们python中的任意数据类型转化成bytes并写入到文件中.也可以把文件中写好的…
什么是序列化/反序列化? 序列化就是将内存中的数据结构转换成一种中间格式存储到硬盘或者基于网络传输,反序列化就是硬盘中或者网络中传来的一种数据格式转换成内存中数据结构 为什么要有序列化/反序列化? 1.可以保存程序的运行状态 2.数据的跨平台交互 shelve模块:也用于序列化,它于 pickle 不同之处在于不需要关心文件模式等,而是直接把它当成一个字典来看待,它可以直接对数据进行修改,而不用覆盖原来的数据,但 pickle 想要修改只能用 wb 模式来覆盖 import shelve dic…
shutil 高级的文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length]) 将文件内容拷贝到另一个文件中 import shutil shutil.copyfileobj(open('old.xml','r'), open('new.xml', 'w')) shutil.copyfile(src, dst) 拷贝文件 shutil.copyfile('f1.log', 'f2.log') #目标文件无需存在 shutil.copymode…