python不同模块间传递数据_Python模块-数据传送模块
json
数据交换,可以跨语言交换,比如php、java等,默认使用规范为双引号。
json类型
Python类型
{}
dict
[]
list
"str"
str
123.45
int或float
true/flase
True/Flase
null
None
json.dumps()
序列号操作,转换为json格式字符串
普通字典转换为字符串做法
# -*- coding: -*-
dic = {'a':"1"}
a = str(dic) #数据转换
print("原来数据类型:",type(dic))
print("转换后数据类型:",type(a))
原来数据类型:
转换后数据类型:
普通字典样式的字符串转字典示例做法
# -*- coding: -*-
A = "{'a':1}"
B = eval(A) #数据转换
print("原来数据类型:",type(A))
print("转换后数据类型:",type(B))
json 字典转换字符串
字符串单引号变双引号,双引号字符串保持不变
import json
dic = {'name':1}
print("转换结果:",json.dumps(dic))
print("转换结果类型:",type(json.dumps(dic)))
转换结果: {"name": 1}
转换结果类型:
json.loads()
反序列化操作,将json格式字符串转换为原来的类型
import json
dic = {'name':1}
a = json.dumps(dic)
#以上为字典转换为json格式的字符串
print("转换结果:",json.loads(a))
print("转换结果类型:",type(json.loads(a)))
转换结果: {'name': 1}
转换结果类型:
Pickle模块
json对比区别
pickle写入内容不可读,pickle支持的数据类型更多
引用
import pickle
方法
转换为字符串类型
pickle.dump
pickle.dumps
转换为原来类型
pickle.load
pickle.loads
shelve模块
shelves写入内容不可读
序列化操作存储
import shelve
a = shelve.open("test")
a["name"] = {"xiaowang"}
自动生成的三个文件
test.bak
test.dat
test.dir
反序列化操作读取
import shelve
a = shelve.open("test")
a["name"] = {"xiaowang"}
print(a.get("name"))
{'xiaowang'}
xml模块,ElementTree解析
测试文件
1
2
3
4
5
标签名称
文档树的根节点标签名称
import xml.etree.ElementTree as ET
tree = ET.parse("XMLConfig.xml") #文档树内存地址
tree_root = tree.getroot() #文档树根的内存地址
print(tree_root.tag) #文档树根的标签
root
标签属性
文档树中各个属性以字典键值对形式输出
# -*- coding: utf8 -*-
import xml.etree.ElementTree as ET
tree = ET.parse("XMLConfig.xml") #文档树内存地址
tree_root = tree.getroot() #文档树根的内存地址
for i in tree_root:
print(i.attrib) #文档树中的分类列表
{'dec': 'list_1'}
{'dec': 'list_2'}
{'dec': 'list_3'}
{'dec': 'list_4'}
{'dec': 'list_5'}
标签内容
# -*- coding: utf8 -*-
import xml.etree.ElementTree as ET
tree = ET.parse("XMLConfig.xml") #文档树内存地址
tree_root = tree.getroot() #文档树根的内存地址
for i in tree_root: #遍历文档树
for j in i: #遍历文档树列表
print(j.text) #文档树遍历文档列表中标签内容
1
None
None
2
None
None
3
4
None
5
None
None
修改内容
# -*- coding: utf8 -*-
import xml.etree.ElementTree as ET
tree = ET.parse("XMLConfig.xml") #文档树内存地址
tree_root = tree.getroot() #文档树根的内存地址
for i in tree_root.iter("test"): #遍历文档树
i.set("test", "new_txt") #文档树遍历文档列表中标签内容 修改
tree.write("XMLConfig2.xml") #保存修改后的文件
修改后
1
2
3
4
5
删除内容
import xml.etree.ElementTree as ET
tree = ET.parse("XMLConfig.xml") #文档树内存地址
tree_root = tree.getroot() #文档树根的内存地址
for i in tree_root.findall("GV"): #遍历文档树第一层
rank = int(i.find("test").text) #第二层查找标签并赋值
if rank > 4: #第二层条件判断
tree_root.remove(i) #不符合条件删除操作
tree.write("XMLConfig2.xml") #保存修改后的文件
删除后
1
2
3
4
生成xml文件
# -*- coding: utf8 -*-
import xml.etree.ElementTree as ET
new_xml = ET.Element("xml_list") #创建文档树根节点
name = ET.SubElement(new_xml,"name",attrib={"test1":"1"}) #在根节点中插入子元素
name = ET.SubElement(new_xml,"name",attrib={"test2":"2"}) #在根节点中插入子元素
et = ET.ElementTree(new_xml) #生成文档对象
ET.dump(new_xml) #打印生成的格式
et.write("test.xml",encoding="utf8",xml_declaration=True) #生成文件
打印出的内容
生成的文件内容
python不同模块间传递数据_Python模块-数据传送模块相关推荐
- python中io中的+模式_Python的高级特性,模块和IO操作
今天我们学习Python的高级特性.模块和IO操作,通过学习这些,我们可以更快的了解Python,使用Python. 高级特性中会讲述列表生成式.生成器.和一些高级函数,学习这些方便我们快速的生成列表 ...
- python我想对你说_python学习22天----模块、包
1.from ...import xxx 例: frommy_moudle importlogin 1)from import 的时候发生了什么 ①先找到my_moudle模块 ②开辟一块属于这个模 ...
- python如何读取mat文件可视化_python 数据分析--数据可视化工具matplotlib
说明: 数据可视化中的数据集下载地址:(数据来源:从零开始学python数据分析和挖掘) 链接:https://pan.baidu.com/s/1zrNpzSNVHd8v1rGFRzKipQ 提取码: ...
- python 柱状图标出y值_Python——pyecharts数据可视化
关于项目 pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS 库.用 Echarts 生成的图可视化效果非常棒,为了与 Python 进行 ...
- python保存数据_python各数据存储方法
声明: 1)仅作为个人学习,如有冒犯,告知速删! 2)不想误导,如有错误,不吝指教! 本节内容: 简介 ------------------文件存储------------------ TXT文本存储 ...
- python 读取地震道头数据_python地震数据可视化详解
本文实例为大家分享了python地震数据可视化的具体代码,供大家参考,具体内容如下 准备工作: 在windows10下安装python3.7,下载参考源码到本地. 1. demo绘图测试 demo绘图 ...
- 用python的pandas打开csv文件_python读写数据读写csv文件(pandas用法)
python中数据处理是比较方便的,经常用的就是读写文件,提取数据等,本博客主要介绍其中的一些用法.Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用 ...
- python怎么清洗数据_Python分析数据之:清洗数据全攻略
前两天翻了翻数据分析的招聘简历,看到好多公司在招聘数据分析师的时候,不管前面要求什么,都会在最后加一句:能够会Python是加分项.那Python是有多好用?今儿一篇文章教会你用Python来分析数据 ...
- python异常数据_python异常数据预警之3sigma
3sigma原理一般在工程科学中比较常用,我们在故障预警中用过这个原理,数据是用传感器采集的数据,这些数据假定符合正态分布,然后在进行模型识别后用3sigma原则来对异常数据进行准确定位.在实际应用中 ...
最新文章
- 施一公:大学必须不计成败、不论得失地为探索者提供宽容和支持的环境
- 轻芒王俊煜:我是如何设计信息流的?
- 【NLP】从0梳理1场NLP赛事!
- springboot2.1.5集成finereport10.0过程中:手动安装本地jar包到maven仓库
- ASP.NET 2.0+Atlas编写鼠标拖放程序(2)
- ^_^家园游记^_^
- 认证android retrofit,Retrofit之项目介绍
- swift 4.2 - 根据字符串 push指定控制器
- 前端xss攻击的原理
- 虚拟机python环境搭载_windows之自动化在虚拟机部署操作系统并自带python环境
- python运用ico图标_如何优雅地处理Django中的favicon.ico图标详解
- hdu 5919--Sequence II(主席树--求区间不同数个数+区间第k大)
- amd玄冰400怎么拆图解_【装机帮扶站】第735期:“无货”当道的京东年底大预售来了(AMD篇)...
- Unity笔记之凤凰模拟器
- java小球反弹_java实现小球碰撞反弹(示例代码)
- CSS设置字体为微软雅黑 且 解决用户设备上没有该字体的问题
- 在配置DNS后服务器启动失败问题的排查
- 计算机与英语相关工作,计算机行业岗位英语单词整合
- Python之使用代理服务器访问网页
- python之路_面向对象
热门文章
- 在服务器端渲染完毕的 Angular Component,在客户端还会重新渲染一次吗?
- SAP Fiori Elements 应用的 i18n 语法使用方式
- SAP Spartacus 从 Ngrx 里获取 navigation 的实时状态
- SAP Spartacus B2B 页面的 Popup Component
- Angular getSimpleChangesStore的实现原理
- SAP Spartacus user form去除嵌套label的side effect之一
- SAP Spartacus里modifiedtime的大小写问题
- SAP CDS view里association和join的区别
- Springboot里输出的html里包含script标签页会怎样
- user parameter to determine cache in SAP Gateway