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的标 ...
随机推荐
- 【刷题笔记】LeetCode 606. Construct String from Binary Tree
题意 给一棵二叉树,把它转化为字符串返回.转化字符串的要求如下: 1. null 直接转化为 () ;(这个要求其实有点误导人~) 2. 子节点用 () 包裹起来:(这是我自己根据例子添加的要求) ...
- 5. Longest Palindromic Substring[M]最长回文子串
题目 Given a string s, find the longest palindromic substring in s. You may assume that the maximum le ...
- windows安装mysql注意点
MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的. 以msi格式安装完成后,先别忙着启动mysql,我们还需要修改一下配置文件(如果没有配置,之后启动的时候就会出现图中的错误哦!:错 ...
- Java 多线程(二)synchronized和volatile
脏读: 脏读指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据.总的来说取到的数据是其实是被更改过的,但还没有保存到数 ...
- 关于Angular官网《英雄指南》教程几点问题修正(此问题在2018年4月份有效,以后可能就订正了)
1.官网中在导入“of”关键字时的引用为: import { Observable, of } from 'rxjs'; 应该改为: import { Observable } from 'rxjs/ ...
- 用latex画化学结构式
最近写论文需要画化学结构式,于是想到用Latex里的包.但是一看知乎里面的大牛们一片口诛笔伐,说还是Chemdraw好.用latex是装... 不管怎么说,还是查了一下.首先需要下载chemfig.t ...
- Ubuntu 16.04 Go环境搭建 Go环境+Sublime配置
Ubuntu 16.04 Go环境搭建 Go环境+Sublime配置 1. 安装Go 下载地址https://golang.org/dl/ (需要翻下) 下载到类似go1.8.3.linux-amd6 ...
- maridb Error 'Operation DROP USER failed for
数据库版本:mariadb 10.0.12 主库删除多余的用户名,因从库没有此信息造成主从故障! 报错信息如下:Error 'Operation DROP USER failed for 'use ...
- 常用sql调优《一》
1. 使用索引,避免在索引列上使用计算. 2.用>=替代> <=替代< 3.用UNION替换OR (适用于索引列) 4.用IN来替换OR 或者 用EXISTS替代IN 5 用W ...
- CDR实例教程-高考789,敢拼就能赢!
本教程是我去年做的一个案例,本来今年想要在做一个,突然意识到今天就是高考日了,没来的及,所以大家将就看些.7.8.9是值得一生纪念的日子,也是以后的每年都会怀念的日子,因为是全国都在上演史诗大剧“决战 ...