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模块-数据传送模块相关推荐

  1. python中io中的+模式_Python的高级特性,模块和IO操作

    今天我们学习Python的高级特性.模块和IO操作,通过学习这些,我们可以更快的了解Python,使用Python. 高级特性中会讲述列表生成式.生成器.和一些高级函数,学习这些方便我们快速的生成列表 ...

  2. python我想对你说_python学习22天----模块、包

    1.from ...import  xxx 例: frommy_moudle importlogin 1)from import 的时候发生了什么 ①先找到my_moudle模块 ②开辟一块属于这个模 ...

  3. python如何读取mat文件可视化_python 数据分析--数据可视化工具matplotlib

    说明: 数据可视化中的数据集下载地址:(数据来源:从零开始学python数据分析和挖掘) 链接:https://pan.baidu.com/s/1zrNpzSNVHd8v1rGFRzKipQ 提取码: ...

  4. python 柱状图标出y值_Python——pyecharts数据可视化

    关于项目 pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS 库.用 Echarts 生成的图可视化效果非常棒,为了与 Python 进行 ...

  5. python保存数据_python各数据存储方法

    声明: 1)仅作为个人学习,如有冒犯,告知速删! 2)不想误导,如有错误,不吝指教! 本节内容: 简介 ------------------文件存储------------------ TXT文本存储 ...

  6. python 读取地震道头数据_python地震数据可视化详解

    本文实例为大家分享了python地震数据可视化的具体代码,供大家参考,具体内容如下 准备工作: 在windows10下安装python3.7,下载参考源码到本地. 1. demo绘图测试 demo绘图 ...

  7. 用python的pandas打开csv文件_python读写数据读写csv文件(pandas用法)

    python中数据处理是比较方便的,经常用的就是读写文件,提取数据等,本博客主要介绍其中的一些用法.Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用 ...

  8. python怎么清洗数据_Python分析数据之:清洗数据全攻略

    前两天翻了翻数据分析的招聘简历,看到好多公司在招聘数据分析师的时候,不管前面要求什么,都会在最后加一句:能够会Python是加分项.那Python是有多好用?今儿一篇文章教会你用Python来分析数据 ...

  9. python异常数据_python异常数据预警之3sigma

    3sigma原理一般在工程科学中比较常用,我们在故障预警中用过这个原理,数据是用传感器采集的数据,这些数据假定符合正态分布,然后在进行模型识别后用3sigma原则来对异常数据进行准确定位.在实际应用中 ...

最新文章

  1. 施一公:大学必须不计成败、不论得失地为探索者提供宽容和支持的环境
  2. 轻芒王俊煜:我是如何设计信息流的?
  3. 【NLP】从0梳理1场NLP赛事!
  4. springboot2.1.5集成finereport10.0过程中:手动安装本地jar包到maven仓库
  5. ASP.NET 2.0+Atlas编写鼠标拖放程序(2)
  6. ^_^家园游记^_^
  7. 认证android retrofit,Retrofit之项目介绍
  8. swift 4.2 - 根据字符串 push指定控制器
  9. 前端xss攻击的原理
  10. 虚拟机python环境搭载_windows之自动化在虚拟机部署操作系统并自带python环境
  11. python运用ico图标_如何优雅地处理Django中的favicon.ico图标详解
  12. hdu 5919--Sequence II(主席树--求区间不同数个数+区间第k大)
  13. amd玄冰400怎么拆图解_【装机帮扶站】第735期:“无货”当道的京东年底大预售来了(AMD篇)...
  14. Unity笔记之凤凰模拟器
  15. java小球反弹_java实现小球碰撞反弹(示例代码)
  16. CSS设置字体为微软雅黑 且 解决用户设备上没有该字体的问题
  17. 在配置DNS后服务器启动失败问题的排查
  18. 计算机与英语相关工作,计算机行业岗位英语单词整合
  19. Python之使用代理服务器访问网页
  20. python之路_面向对象

热门文章

  1. 在服务器端渲染完毕的 Angular Component,在客户端还会重新渲染一次吗?
  2. SAP Fiori Elements 应用的 i18n 语法使用方式
  3. SAP Spartacus 从 Ngrx 里获取 navigation 的实时状态
  4. SAP Spartacus B2B 页面的 Popup Component
  5. Angular getSimpleChangesStore的实现原理
  6. SAP Spartacus user form去除嵌套label的side effect之一
  7. SAP Spartacus里modifiedtime的大小写问题
  8. SAP CDS view里association和join的区别
  9. Springboot里输出的html里包含script标签页会怎样
  10. user parameter to determine cache in SAP Gateway