(常用)xml-pickle-shevel-json模块
1. 什么是序列化
序列化指的是将内存中的数据类型转换成一种中间格式,该格式可以用来存到硬盘中或者基于网络传输
1. 持久化(把某一时刻程序的运行状态永久保存下来)
2. 基于网络传输,可以扩平台交互数据
json:(t模式文本)rt,wt,at 写进硬盘 格式任意 读一定要满足json的格式
json.dump([1,2],open('a.txt','wt',encoding='utf-8',),ensure_ascii=False)默认为True

优点:兼容所有语言,可以扩平台交互数据
缺点:不能支持所有的python数据类型
pickle:(b模式二进制读写)rb,wb,ab

优点:可以支持所有的python数据类型
缺点:不能跨平台
json.dump(数据类型,文件对象) json.load(文件对象)
info={'name':'egon','age':18,'hobby':['piao','smoking','drinking']}
存
f=shelve.open(r'sheve.txt') 不用指定模式可读可写
f['st']=info
f.close()
取
f=shelve.open(r'sheve.txt')
print(f['st']['name'])
f.close()
改
f=shelve.open(r'sheve.txt',writeback=True) #改:全部重新写到硬盘
f['st']['name']='alex'
f.close()
格式:
<data>
<country name="Liechtenstein">
<rank updated="yes">2</rank>
<year>2008</year>
<gdppc>141100</gdppc>
<neighbor name="Austria" direction="E"/>
<neighbor name="Switzerland" direction="W"/>
</country>
</data>
就像字典:date={Liechtenstein:{....}}
import xml.etree.ElementTree as ET
tree = ET.parse("xmltest.xml") #整棵树(加载解析文件)
root = tree.getroot() #先拿树根(节点)例如root节点<peple age='18'>wd</people> root.tag,.attrib,.text
查
root.iter('year') #全文搜索
root.find('country') #当前的节点的下一层找(当前为根节点),只找一个
root.findall('country') #当前的节点的下一层找(当前为根节点),找所有
举例res=root.find('country') #country节点
nh=res.find('year') #从country节点开始找下层的year,没有返回None
改
1.找到要改的
2.改
3.tree.write('a.xml',#encoding="utf-8",xml_declaration=True) #把整棵树wt覆盖写回
增
ele=ET.Element('egon')#增加节点
ele.attrib={'nb':'yes'}#属性
ele.text='非常帅'#属性
节点.append(ele) #把节点添加进节点ele
.remove(ele) #
建整棵树
先拿个节点作为根:ele=ET.Element('egon')
tree=ET.ElementTree(ele)
再创建其他子节点:
a=ET.Element('egon1') #a表示节点,egon1是节点的(a.tag)名字
a.text=
a.attrib=
ele.append(a)
最后保存
tree.write('路径文件名')#可以指定编码 还有这个头文件申明就像codeing:utf-8一个道理
图

(常用)xml-pickle-shevel-json模块的更多相关文章
- Python开发之序列化与反序列化:pickle、json模块使用详解
1 引言 在日常开发中,所有的对象都是存储在内存当中,尤其是像python这样的坚持一切接对象的高级程序设计语言,一旦关机,在写在内存中的数据都将不复存在.另一方面,存储在内存够中的对象由于编程语言. ...
- Python序列化-pickle和json模块
Python的“file-like object“就是一种鸭子类型.对真正的文件对象,它有一个read()方法,返回其内容.但是,许多对象,只要有read()方法,都被视为“file-like obj ...
- Python中的序列化以及pickle和json模块介绍
Python中的序列化指的是在程序运行期间,变量都是在内存中保存着的,如果我们想保留一些运行中的变量值,就可以使用序列化操作把变量内容从内存保存到磁盘中,在Python中这个操作叫pickling,等 ...
- pickle和json模块
json模块 json模块是实现序列化和反序列化的,主要用户不同程序之间的数据交换,首先来看一下: dumps()序列化 import json '''json模块是实现序列化和反序列话功能的''' ...
- pytho中pickle、json模块
pickle & json 模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 json模块提供了四 ...
- Learning-Python【20】:Python常用模块(3)—— shelve、pickle、json、xml、configparser
什么是序列化/反序列化? 序列化就是将内存中的数据结构转换成一种中间格式存储到硬盘或者基于网络传输,反序列化就是硬盘中或者网络中传来的一种数据格式转换成内存中数据结构 为什么要有序列化/反序列化? 1 ...
- os常用模块,json,pickle,shelve模块,正则表达式(实现运算符分离),logging模块,配置模块,路径叠加,哈希算法
一.os常用模块 显示当前工作目录 print(os.getcwd()) 返回上一层目录 os.chdir("..") 创建文件包 os.makedirs('python2/bin ...
- Python 常用模块(2) 序列化(pickle,shelve,json,configpaser)
主要内容: 一. 序列化概述 二. pickle模块 三. shelve模块 四. json模块(重点!) 五. configpaser模块 一. 序列化概述1. 序列化: 将字典,列表等内容转换成一 ...
- python 常用模块(一): os模块,序列化模块(json模块 pickle模块 )
1.os模块 2.序列化模块:(1)json模块 和 pickle模块 一.os模块 os.path.abspath: (1)把路径中不符合规范的/改成操作系统默认的格式 import os path ...
- 第九节:os、sys、json、pickle、shelve模块
OS模块: os.getcwd()获取当前路径os.chdir()改变目录os.curdir返回当前目录os.pardir()父目录os.makedirs('a/b/c')创建多层目录os.remov ...
随机推荐
- HDU - 6393 Traffic Network in Numazu(树链剖分+基环树)
http://acm.hdu.edu.cn/showproblem.php?pid=6393 题意 给n个点和n条边的图,有两种操作,一种修改边权,另一种查询u到v的最短路. 分析 n个点和n条边,实 ...
- HDU 1026(迷宫 BFS+打印)
题意是要穿过一个迷宫并且将每一步打印出来. 用宽搜的方法找到路径,在 vis 中存一下方向,只是这题被看到的一种不太对的运算符重载坑了很久...... 代码如下: #include <bits/ ...
- 使用C#的HttpWebRequest模拟登陆网站
很久没有写新的东西了,今天在工作中遇到的一个问题,感觉很有用,有种想记下来的冲动. 这篇文章是有关模拟登录网站方面的. 实现步骤: 启用一个web会话 发送模拟数据请求(POST或者GET) 获取会话 ...
- FontAwesome图标选择器
虽然比较简单,但很实用,在C# MVC下开发,请首先将图标名称保存到数据库中,图标窗口如下. @{ Layout = "~/Views/Shared/_Form.cshtml"; ...
- C# using 的用法
Ø 前言 说起 C# using 语句,想必大家都不陌生,它是 C# 中关键字之一.我们基本每天写代码都会使用到,其实也非常简单. 1. 首先,说说 using 有哪些用途 1) 用于引用其 ...
- MVC入门教程
MVC入门系列教程-视频版本,已入驻51CTO学院,文本+视频学效果更好哦.视频链接地址如下: 点我查看视频.另外,针对该系列教程博主提供有偿技术支持,群号:226090960,群内会针对该教程的问题 ...
- solr window环境安装配置和管理页面基本使用
solr介绍 来自官网http://lucene.apache.org/solr/解释: Solr is highly reliable, scalable and fault tolerant, p ...
- 利用PHP访问数据库——实现分页功能与多条件查询功能
1.实现分页功能 <body><table width="100%" border="1"> <thead> < ...
- My97DatePicker 只显示月份
<script src="../javascript/My97DatePicker/WdatePicker.js" type="text/javascript&qu ...
- nnet3中的数据类型
目标与背景 之前的nnet1和nnet2基于Component对象,是一个组件的堆栈.每个组件对应一个神经网络层,为简便起见,将一个仿射变换后接一个非线性表示为一层网络,因此每层网络有两个组件.这些旧 ...