python学习-52 XML模块
XML模块
xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但是json使用起来更简单。
例如:创建一个xml文件
<data>
<country name="china">
<rank updated="yes">1</rank>
<year>2019</year>
<neighbor name="American"/>
</country>
<country name="Canada">
<rank updated="yes">2</rank>
<year>2019</year>
<neighbor name="American"/>
</country>
</data>
查询内容
import xml.etree.ElementTree as ET tree = ET.parse("xml")
root = tree.getroot()
print(root.tag)
print('__________________') # 查 for a in root: # 遍历根
print(a.tag)
print(a.attrib) for b in a : # 遍历根的下一级
print(b.text) for node in root.iter('year'): #遍历节点,取year的内容
print(node.tag,node.text)
运行结果:
data
__________________
country
{'name': 'china'}
2
2019
None
country
{'name': 'Canada'}
2
2019
None
year 2019
year 2019 Process finished with exit code 0
修改和删除
import xml.etree.ElementTree as ET tree = ET.parse("xml")
root = tree.getroot() # 修改 for node in root.iter("year"):
new_year = int(node.text) + 1 # 年份加1
node.text = str(new_year)
node.set("updated","yes") # 多加一个属性
tree.write("xml_text.xml") # 放到一个新的文件里 # 删除
for country in root.findall("country"):
rank = int(country.find("rank").text)
if rank >1: # 删除排名大于1的国家的信息
root.remove(country)
tree.write("xml_test2.xml")
创建一个xml文件
import xml.etree.ElementTree as ET new_xml = ET.Element("namelist") name =ET.SubElement(new_xml,"name",attrib={"enrolled":"yes"})
age = ET.SubElement(name,"age",attrib={"checked":"no"})
sex = ET.SubElement(name,"sex")
sex.text = "" et = ET.ElementTree(new_xml)
et.write("xml2_test.xml",encoding="utf-8",xml_declaration=True)
python学习-52 XML模块的更多相关文章
- python学习之argparse模块
python学习之argparse模块 一.简介: argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块.argparse模块的作用是用于解析命令行 ...
- Python学习day19-常用模块之re模块
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习 Part4:模块
Python学习 Part4:模块 1. 模块是将定义保存在一个文件中的方法,然后在脚本中或解释器的交互实例中使用.模块中的定义可以被导入到其他模块或者main模块. 模块就是一个包含Python定义 ...
- Python学习day18-常用模块之NumPy
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- python学习笔记_week5_模块
模块 一.定义: 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能), 本质就是.py结尾的python文件(文件名:test.py,对应模块名:test) 包:用来从逻辑上 ...
- Python学习-day5 常用模块
day5主要是各种常用模块的学习 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 conf ...
- Python学习笔记-常用模块
1.python模块 如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失.因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作 ...
- Python学习笔记--XML的应用
XML的定义 XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没有被 ...
- python学习之random模块
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
随机推荐
- NoSql数据库MongoDB系列(1)——MongoDB简介
一.NoSQL简介 NoSQL(Not Only SQL ),意即“不仅仅是SQL” ,指的是非关系型的数据库 .是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨.No ...
- NGINX实现咏南跨平台中间件集群
NGINX实现咏南跨平台中间件集群 首先要开启咏南LINUX中间件. 1)编辑usr/local/nginx/conf/nginx.conf #user nobody;worker_processe ...
- java调用jni oci接口宕机原因排查
调用最简单的JNI没有出错,但是涉及到OCI时就会异常退出,分析后基本确定是OCI 11g中的signal所致,参考ora-24550 signo=6 signo=11解决. 但是这个相同的so库直接 ...
- 目录窗口多选Multiple Select in Catalog Window or arccatalog
目录窗口多选Multiple Select in Catalog Window or arccatalog 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#q ...
- Centos7迁移fastdfs文件系统
系统从一个地方迁移到另一个地方,数据保持不变,但是ip地址和网络情况不一样了,最困难的是要迁移的那个地方还么有互联网,这TM就坑了,所以想到将FastDFS存储的目录整体拷贝过去,这个方法简单粗暴,这 ...
- C++提示没有与这些操作数匹配的<<运算符
应该是忘了#include.#include<string>
- ubuntu上安装python的ldap模块
首先安装 apt-get install libldap2-dev 然后再安装 apt-get install libsasl2-dev 然后就可以继续安装你的python-ldap模块了 pip i ...
- Ionic4.x ion-infinite-scroll 上拉分页加载更多
<ion-header> <ion-toolbar> <ion-title> Tab One </ion-title> </ion-toolbar ...
- centos7.6_x86_64使用Squid搭建代理服务器让windows上网
centos7.6_x86_64使用Squid搭建代理服务器让windows上网 windows机器很多站点访问受限,可以在没有限制外网的机器上面搭建代理服务器,其它电脑可以配置代理通过这台不受限制的 ...
- 泡泡一分钟:Visual Odometry Using a Homography Formulation with Decoupled Rotation and Translation Estimation Using Minimal Solutions
张宁 Visual Odometry Using a Homography Formulation with Decoupled Rotation and Translation Estimation ...