python 3.x 学习笔记8 (os模块及xml修改)

栏目: Python · 发布时间: 6年前

内容简介: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-8’可以转译中文,不会有乱码
if __name__ == '__main__':
    build_sitemap()

生成的xml

<urlset>
    <url>
        <loc name="百度">http://www/baidu.com</loc>
        <time>2018-1-30</time>
        <change>daily</change>
        <priority>1.0</priority>
    </url>
</urlset>

下面是要修改的文件

<?xml version="1.0"?>
<data>
    <country name="Liechtenstein">
        <rank>1</rank>
        <year>2008</year>
        <gdppc>141100</gdppc>
        <neighbor name="Austria" direction="E"/>
        <neighbor name="Switzerland" direction="W"/>
    </country>
    <country name="Singapore">
        <rank>4</rank>
        <year>2011</year>
        <gdppc>59900</gdppc>
        <neighbor name="Malaysia" direction="N"/>
    </country>
    <country name="Panama">
        <rank>68</rank>
        <year>2011</year>
        <gdppc>13600</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) + 1
    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 > 50:
        root.remove(country)

tree.write('xmltest3.xml')

以上所述就是小编给大家介绍的《python 3.x 学习笔记8 (os模块及xml修改)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

React

React

卓越开发者联盟 / 寸志、范洪春、杨森、陈涌 / 电子工业出版社 / 2015-5-1 / CNY 65.00

2014 年横空出世的由Facebook 推出的开源框架React.js,基于Virtual DOM 重新定义了用户界面的开发方式,彻底革新了大家对前端框架的认识,将PHP 风格的开发方式迁移到客户端应用开发。其优势在于可以与各种类库、框架搭配使用。《React:引领未来的用户界面开发框架》是这一领域的首作,由多位一线专家精心撰写,采用一个全程实例全面介绍和剖析了ReactReact.js 的方方......一起来看看 《React》 这本书的介绍吧!

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具