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().但你也 ...
随机推荐
- 洛谷 P4279 [SHOI2008]小约翰的游戏 解题报告
P4279 [SHOI2008]小约翰的游戏 题目描述 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有\(n\)堆石子,小约翰和他的哥哥轮流取石子,每个人取的时候,可以随意选择一堆石子,在这堆石子 ...
- android:onClick="xxx"
一般监听OnClickListener事件,我们都是通过Button button = (Button)findViewById(....); button.setOClickLisener....这 ...
- 设计模式之单例模式实现(C++)
#ifndef SINGLETON_H #define SINGLETON_H #include <cassert> #include <memory> #include &l ...
- HOJ 13102 Super Shuttle (圆的反演变换)
HOJ 13102 Super Shuttle 链接:http://49.123.82.55/online/?action=problem&type=show&id=13102 题意: ...
- Android Studio 安装在Windows10中的陷阱
操作系统:Windows 10 Pro CPU:AMD IDE:Android Studio 2.0 JDK:8.0 安装完AS(Android Studio)之后,运行AS发现无法启动模拟器,提示“ ...
- Nginx反向代理websocket配置实例(官网)
https://www.nginx.com/blog/websocket-nginx/ Blog Tech Rick Nelson of NGINX, Inc. May 16, 2014 NG ...
- 路径名导致的异常:javax.imageio.IIOException: Can't read input file!
背景: 写了一个测试程序,目的是读取本地的图片,为其打上水印图片.在使用过程中总会遇到:javax.imageio.IIOException: Can't read input file!的错误,最开 ...
- javascript精雕细琢(二):++、--那点事
目录 引言 ++和--在数学运算中的计算规则 ++和--在变量引用时的计算规则 ++和--的数据转换应用 引言 对于接触JS时间不长的前端来说,刚开始要实现诸如轮播图,选项卡等小模块时,肯定会用到in ...
- Java并发编程原理与实战七:线程带来的风险
在并发中有两种方式,一是多进程,二是多线程,但是线程相比进程花销更小且能共享资源.但使用多线程同时会带来相应的风险,本文将展开讨论. 一.引言 多线程将会带来几个问题: 1.安全性问题 线程安全性可能 ...
- IIS Media Service: Channel 小结
IIS Media Service 对Channel的Schema可以在浏览器中输入http://{0}:{1}/services/smoothstreaming/publishingpoints.i ...