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().但你也 ...
随机推荐
- 【BZOJ3105】【CQOI2013】新Nim游戏
Description 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴.可以只拿一根,也可以拿走整堆火柴 ...
- View 的setTag() 和 getTag()
View 的setTag() 和 getTag()ImageView.setTag(""); 就是当多个ImageView用到一个监听器时,能触发不同的情况,是View的方法 Ad ...
- Eclipse开发java程序里Test用不了,怎么导包?
1.右键项目Build Path->Add External JARs,选择要导入的jar包即可: 2.建立方法,引入junit. 3.ok
- day14 多态与抽象
多态:相同的行为,不同的实现. 多态分为:静态多态和动态多态. 静态多态:在编译期即确定方法的实现和效果.——使用重载实现 动态多态:运行后才能确定方法的实现和执行效果.——使用动态绑定和重写实现 动 ...
- 介绍——基于类的视图(class-based view)
刚开始的时候,django只有基于函数的视图(Function-based views).为了解决开发视图中繁杂的重复代码,基于函数的通用视图( Class-based generic views) ...
- gson转换对象为json字符串时对特殊字符编码的问题
使用google的gson进行object和json的转换,如下: public static String object2json(Object obj) { Gson gson = new Gso ...
- css实现0.5像素的边框
公司的设计师在做设计图的时候都是以iphone6(宽为750物理像素)为基准进行设计的.iphone6的设备像素比(即css像素与物理像素的比例)是2,所以设计师在设计图画了边框为1px的box的时候 ...
- C++的一些不错开源框架,可以学习和借鉴
from https://www.cnblogs.com/charlesblc/p/5703557.html [本文系外部转贴,原文地址:http://coolshell.info/c/c++/201 ...
- 搭建zookeeper单机版以及简单命令的使用
1:创建目录 #数据目录dataDir=/opt/hadoop/zookeeper-3.3.5-cdh3u5/data#日志目录dataLogDir=/opt/hadoop/zookeeper-3.3 ...
- HDU 1251 统计难题 (裸的字典树)
题目链接 Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本 ...