python基础--xml和configparse模块
1)XML模块
xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多。
下面是xml的遍历查询删除修改和生成
# -*- coding:utf-8 -*-
__author__ = 'shisanjun' import xml.etree.ElementTree as ET etree=ET.parse("xml.xml")
root=etree.getroot() #遍历XML
for child in root:
print(child.tag,child.attrib,child.text)
for i in child:
print("\t",i.tag,i.attrib,i.text) #查询
for child in root.iter("year"):
print(child.tag,child.text) #修改和删除xml文档内容
for country in root.findall("country"):
rank=country.find("rank").text
if int(rank)>50:
root.remove(country) etree.write("xml1.xml") for year in root.iter("year"):
year_tmp=int(year.text)+1
year.text=str(year_tmp)
year.set("update","yes")
etree.write("xml2.xml") #创建XML文件 new_xml=ET.Element("root") #生成根
name=ET.SubElement(new_xml,"name",attrib={"errol":""})
age=ET.SubElement(name,"age")
age.text=str(23) sex=ET.SubElement(name,"sex")
sex.text="boy" et=ET.ElementTree(new_xml)
et.write("xml3.xml",encoding="utf-8",xml_declaration=True)#写入文件 ET.dump(new_xml) #打印到终端
2)configparse
用于生成和修改常见配置文档,当前模块的名称在 python 3.x 版本中变更为 configparser
# -*- coding:utf-8 -*-
__author__ = 'shisanjun' import configparser
#创建配置文件
config=configparser.ConfigParser()
config["Default"]={
'ServerAliveInterval':'',
'Compression':'yes',
'CompressionLevel':''
}
config['bitbucket.org']={}
config['bitbucket.org']['User']='hg'
config['topsecret.server.com']={}
topsecret=config['topsecret.server.com']
topsecret['Host Port']='' with open('example.ini','w') as f:
config.write(f) config1=configparser.ConfigParser()
config1.sections()
config1.read('config.ini')
print(config1.sections())
print(config1['DEFAULT']['Compression']) print(config1.options('bitbucket.org'))
print(config1.items('bitbucket.org'))
config1.remove_section('bitbucket.org')
config.write(open('example1.ini','w'))
python基础--xml和configparse模块的更多相关文章
- python基础(10)--模块
模块(module) 模块,用一坨代码实现了某个功能的代码集合 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来 ...
- Python基础(十)-模块
模块初识 一般把不同功能代码放到不同py文件,一个py文件就是一个模块 三种模块库: 1.Python标准库 2.第三方库 3.自定义库 导入模块:import 库名 (Python解释器只认识执行文 ...
- 第六章:Python基础の反射与常用模块解密
本课主题 反射 Mapping 介绍和操作实战 模块介绍和操作实战 random 模块 time 和 datetime 模块 logging 模块 sys 模块 os 模块 hashlib 模块 re ...
- 第七章:Python基础のXML操作和面向对象(一)
本課主題 XML介绍与操作实战 shutil 模块介绍与操作实战 subprocess 模块介绍与操作实战 初探面向对象与操作实战 本周作业 XML介绍和操作实战 對於浏览器返回的字符串有以下幾種: ...
- python基础学习十 logging模块详细使用【转载】
很多程序都有记录日志的需求,并且日志中包含的信息既有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,主要用于输出 ...
- Python基础(12)--模块
本文地址:http://www.cnblogs.com/archimedes/p/python-modules.html,转载请注明源地址. 模块简介 如果你退出 Python 解释器重新进入,以前创 ...
- Python基础系列讲解——random模块随机数的生成
随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等.Python内置的random模块提供了生成随机数的方法,使用这些方法时需要导入ran ...
- python基础学习笔记——collections模块
在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict.namedtuple和Ord ...
- Python基础语法05--函数模块
Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...
随机推荐
- python之插入排序
插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的.个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2).是稳定的排序方法.插入算法把要排序的数组分成两部 ...
- MyBatis.1入门篇
一:简介 MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动.创建connection.创建statem ...
- 简例 - robot case格式
注意robot的case格式 # *** Variables *** # *** Settings *** # Library String # Library Selenium2Library ** ...
- c动态分配结构体二维数组
这个问题我纠结了蛮久了,因为前面一直忙(自己也懒了点),所以没有能好好研究这个.希望这篇文章能够帮助你们. #include <stdio.h> #include <stdlib.h ...
- Docker swarm 使用服务编排部署lnmp
一.简介 目的:在Docker Swarm集群中,使用stack服务编排搭建lnmp来部署WordPress 使用私有仓库的nginx和php镜像 mysql使用dockerhup最新镜像 使用nfs ...
- R语言:克里金插值
基于空间自相关,R语言克里金插值 library(gstat) Warning message: In scan(file = file, what = what, sep = sep, quote ...
- P1077 摆花
P1077 摆花 题目描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共 m 盆.通过调查顾客的喜好,小明列出了顾客最喜欢的 n 种花,从 1 到 n 标号.为了在门口展出更多种花, ...
- bzoj千题计划159:bzoj2055: 80人环游世界(有源汇上下界可行最小费用流)
http://www.lydsy.com/JudgeOnline/problem.php?id=2055 某个国家必须经过vi次, 可以转化为上下界都为vi的边 对这张图做有源汇上下界可行最小费用流 ...
- bzoj千题计划125:bzoj1037: [ZJOI2008]生日聚会Party
http://www.lydsy.com/JudgeOnline/problem.php?id=1037 一个区间是否满足 任意连续的一段,男孩与女孩的数目之差不超过k, 取决于男孩与女孩数目之差的最 ...
- Java并发编程原理与实战九:synchronized的原理与使用
一.理论层面 内置锁与互斥锁 修饰普通方法.修饰静态方法.修饰代码块 package com.roocon.thread.t3; public class Sequence { private sta ...