python 3.x 学习笔记8 (os模块及xml修改)
1.os模块操作
os.getcwd(): # 查看当前所在路径。
os.listdir(path): # 列举目录下的所有文件,返回的是列表类型。
os.path.abspath(path): # 返回path的绝对路径。
os.path.join(path1,path2,...): # 将path进行组合,若其中有绝对路径,则之前的path将被删除。
os.path.dirname(path): # 返回path中的文件夹部分,结果不包含'\'
os.path.basename(path): # 返回path中的文件名。
os.path.getmtime(path): # 文件或文件夹的最后修改时间,从新纪元到访问时的秒数。
os.path.getatime(path): # 文件或文件夹的最后访问时间,从新纪元到访问时的秒数。
os.path.getctime(path): # 文件或文件夹的创建时间,从新纪元到访问时的秒数。
os.path.getsize(path): # 文件或文件夹的大小,若是文件夹返回0
os.path.exists(path): # 文件或文件夹是否存在,返回True 或 False。
2.xml的使用
xml建立
from xml.etree import ElementTree as ET
def build_sitemap():
urlset = ET.Element("urlset") # ET.Element创建一个根节点,标签为urlset
url = ET.SubElement(urlset,"url") # ET.SubElement在根节点urlset下建立子节点
loc = ET.SubElement(url,"loc",attrib={"name":"百度"}) #attrib为创建属性
loc.text = "http://www/baidu.com" #loc.test 为写入内容
time = ET.SubElement(url,"time")
time.text = "2018-1-30"
change = ET.SubElement(url,"change")
change.text = "daily"
priority = ET.SubElement(url,"priority")
priority.text = "1.0"
tree = ET.ElementTree(urlset)
tree.write("set.xml",'utf-8') #写入时加上‘utf-’可以转译中文,不会有乱码
if __name__ == '__main__':
build_sitemap()
生成的xml
<urlset>
<url>
<loc name="百度">http://www/baidu.com</loc>
<time>--</time>
<change>daily</change>
<priority>1.0</priority>
</url>
</urlset>
下面是要修改的文件
<?xml version="1.0"?>
<data>
<country name="Liechtenstein">
<rank></rank>
<year></year>
<gdppc></gdppc>
<neighbor name="Austria" direction="E"/>
<neighbor name="Switzerland" direction="W"/>
</country>
<country name="Singapore">
<rank></rank>
<year></year>
<gdppc></gdppc>
<neighbor name="Malaysia" direction="N"/>
</country>
<country name="Panama">
<rank></rank>
<year></year>
<gdppc></gdppc>
<neighbor name="Costa Rica" direction="W"/>
<neighbor name="Colombia" direction="E"/>
</country>
</data>
修改程序
import xml.etree.ElementTree as ET
tree = ET.parse('xmltest.xml')
root = tree.getroot()
#修改
for node in root.iter('year'):
new_year = int(node.text) +
node.text = str(new_year)
node.set('updated_by','hsj')
tree.write('xmltest2.xml')
#删除
for country in root.findall('country'):
rank = int(country.find('rank').text)
if rank > :
root.remove(country)
tree.write('xmltest3.xml')
python 3.x 学习笔记8 (os模块及xml修改)的更多相关文章
- Python学习笔记之os模块
Python中的os提供了非常丰富的方法用来处理文件和目录,下面我们将详细的介绍os相关的一些方法和函数: os 路径相关的函数: 1.os.listdir(dirname):列出dirname目录下 ...
- Python学习笔记:os模块和sys模块
os模块 os.path.driname(path):返回当前路径的上一级路径字符串. os.path.basename(path):返回当前路径的目录名(文件夹名)或文件名(全称). os.path ...
- 吴裕雄--python学习笔记:os模块的使用
在自动化测试中,经常需要查找操作文件,比如说查找配置文件(从而读取配置文件的信息),查找测试报告(从而发送测试报告邮件),经常要对大量文件和大量路径进行操作,这就依赖于os模块. 1.当前路径及路径下 ...
- 吴裕雄--python学习笔记:os模块函数
os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcwd:得 ...
- Python+Selenium学习笔记7 - os模块
os模块是关于文件/目录方面的 导入语法 import os 相关方法 path.abspath() 用来获取当前路径下的文件 os.path.abspath('checkbox.html') ...
- Python3学习笔记(urllib模块的使用)转http://www.cnblogs.com/Lands-ljk/p/5447127.html
Python3学习笔记(urllib模块的使用) 1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, ...
- python网络爬虫学习笔记
python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章文件夹 1. 介绍: 2. 从简单语句中開始: 3. 传送数据给server 4. HTTP头-描写叙述 ...
- Python Built-in Function 学习笔记
Python Built-in Function 学习笔记 1. 匿名函数 1.1 什么是匿名函数 python允许使用lambda来创建一个匿名函数,匿名是因为他不需要以标准的方式来声明,比如def ...
- Requests:Python HTTP Module学习笔记(一)(转)
Requests:Python HTTP Module学习笔记(一) 在学习用python写爬虫的时候用到了Requests这个Http网络库,这个库简单好用并且功能强大,完全可以代替python的标 ...
随机推荐
- 11.MATLAB基本编程
概述: 1 脚本M文件 clear all; %设置精度 format long; %定义变量 n= s= %循环 :n s=s+/^i; end s format short; 2 函数M文件 fu ...
- 3d touch 的使用(一)
废话不多说,直接上代码------------------ 在 - (BOOL)application:(UIApplication *)application didFinishLaunchingW ...
- 2017.7.15清北夏令营精英班Day1解题报告
成绩: 预计分数:20+10+40 实际分数:100+10+40. 一百三十多人的比赛全场rand7还水了个鼠标+键盘 unbelievable! 考试题目链接: https://www.luogu. ...
- JSTL教程 [JSP 标准标记库]
JSTL教程- - JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断.数据管理格式 ...
- asp实现阿里大鱼短信API接口的方法
阿里大鱼是阿里推出的产品,官方提供JAVA..NET.PHP等版本的SDK下载,不知为何,唯独不提供ASP版本的SDK. 不提供没关系,自己写就是了,参照官方提供的API写一个就是了. 本来以为无非是 ...
- IPv6特性,以及SLAAC过程
1. IPv6特性 支持即插即用: 路由器发现(Router Discovery):当一个节点连接到一个IPv6的链路上时,它能够发现本地的路由器,而不必借助动态主机配置协议(DHCP). 前缀发现( ...
- 堆————数据流的第k个大的元素
解题思路 一般地,堆和堆排序——解决 "贪心算法及其类似问题" 的利器. # 思路:我们可以用一个小根堆来做,并且限制堆的大小为k,初始化时把nums的每个数都push到堆中,如果 ...
- 小程序做一个能够左右滑动切换的多tab页面
主要原理:使用 <swiper> 和 <scroll-view> 组件 代码片段: https://developers.weixin.qq.com/s/mLx4FWmF757 ...
- C语言实现将一个整形数转换为两个字节16进制
有时候要用到这个转换,这里记录一下,例如把 int a = 164 转换储存在数组里为 uint8_t b[0]=0x00 , b[1]=0xA4 . 很简单,转换如下: b[0] = a > ...
- STM32 使用Cubemx 建一个USB(HID)设备下位机,实现数据收发
这里我主要说一下如何做一个USB下位机,这里主要分3部分:1.建立工程:2.添加报文描述符:3.数据的传输.这里就不讲USB的理论知识了,有想要了解的自行百度一下就可以了. 建立工程:工程建立参考:h ...