Python3 notes

简介: Python3 notes

Python 解析XML实例

实例

#!/usr/bin/python3


importxml.sax


class MovieHandler(xml.sax.ContentHandler):

  def__init__(self):

     self.CurrentData=""

     self.type=""

     self.format=""

     self.year=""

     self.rating=""

     self.stars=""

     self.description=""


  # 元素开始调用

  def startElement(self, tag, attributes):

     self.CurrentData= tag

     if tag =="movie":

        print("*****Movie*****")

        title = attributes["title"]

        print("Title:", title)


  # 元素结束调用

  def endElement(self, tag):

     ifself.CurrentData=="type":

        print("Type:",self.type)

     elifself.CurrentData=="format":

        print("Format:",self.format)

     elifself.CurrentData=="year":

        print("Year:",self.year)

     elifself.CurrentData=="rating":

        print("Rating:",self.rating)

     elifself.CurrentData=="stars":

        print("Stars:",self.stars)

     elifself.CurrentData=="description":

        print("Description:",self.description)

     self.CurrentData=""


  # 读取字符时调用

  def characters(self, content):

     ifself.CurrentData=="type":

        self.type= content

     elifself.CurrentData=="format":

        self.format= content

     elifself.CurrentData=="year":

        self.year= content

     elifself.CurrentData=="rating":

        self.rating= content

     elifself.CurrentData=="stars":

        self.stars= content

     elifself.CurrentData=="description":

        self.description= content

 

if( __name__ =="__main__"):

 

  # 创建一个 XMLReader

  parser=xml.sax.make_parser()

  # 关闭命名空间

  parser.setFeature(xml.sax.handler.feature_namespaces,0)


  # 重写 ContextHandler

  Handler = MovieHandler()

  parser.setContentHandler( Handler )

 

  parser.parse("movies.xml")

以上代码执行结果如下:

*****Movie*****

Title:EnemyBehind

Type:War,Thriller

Format: DVD

Year:2003

Rating: PG

Stars:10

Description:Talk about a US-Japan war

*****Movie*****

Title:Transformers

Type:Anime,ScienceFiction

Format: DVD

Year:1989

Rating: R

Stars:8

Description: A schientific fiction

*****Movie*****

Title:Trigun

Type:Anime,Action

Format: DVD

Rating: PG

Stars:10

Description:Vash the Stampede!

*****Movie*****

Title:Ishtar

Type:Comedy

Format: VHS

Rating: PG

Stars:2

Description:Viewable boredom

相关文章
|
缓存 JavaScript 前端开发
【axios】二次封装——避免重复发送请求
【axios】二次封装——避免重复发送请求
1120 0
【axios】二次封装——避免重复发送请求
|
8月前
|
人工智能 架构师 API
智能体来了,智创未来背后隐藏着哪些新趋势?
2024年迈入AI Agent时代:从单体大模型走向多智能体协作、端侧轻量化部署与Agent即操作系统。告别“单打独斗”,开发者需掌握Multi-Agent架构、SLM优化及Agent-OS范式,主动参与智能生产力重构。(239字)
|
9月前
|
存储 前端开发 Java
usdt模拟器转账器,java版前端代码,仅供学习参考
哈喽大家好!我是爱写代码的技术UP主!今天给大家带来一个超实用的项目——USDT模拟转账器Java版!完全本地运行,仅供学习区块链原理使用哦!
|
IDE 大数据 程序员
Python新手踩坑实录:这些错误你可能正在犯
本文总结了Python新手常犯的十大典型错误,涵盖缩进、变量赋值、数据类型、控制结构、函数模块、文件操作等方面,并提供实用解决方案,帮助程序员避开常见陷阱,提升编程效率与代码质量。
726 2
|
8月前
|
应用服务中间件 Shell nginx
我的docker学习笔记
本指南系统讲解Docker核心实践:涵盖安装配置、镜像获取与管理、容器生命周期操作(启停/日志/进入/导入导出)、数据卷与Bind Mount数据持久化、网络配置(Bridge/自定义网络/DNS)、Dockerfile定制镜像(COPY/ADD/CMD/ENTRYPOINT/ENV/ARG/VOLUME等指令详解)及Docker Compose编排应用。内容实用,步骤清晰,适合快速上手与深入实践。(239字)
566 6
|
8月前
|
人工智能 安全 机器人
麻省理工科技评论发布2026年十大突破性技术,AI独占四席
《麻省理工科技评论》2026年“十大突破性技术”榜单发布,AI技术占据四席,涵盖超大规模数据中心、机制可解释性、AI陪伴与生成式编码,彰显其主导地位。榜单不仅反映技术从“能做”到“该做”的转向,更揭示AI正深度融入社会骨骼,推动算力、伦理与产业变革,开启智能新纪元。
2240 7
|
8月前
|
人工智能 弹性计算 关系型数据库
阿里云中小企业权益扶持:云产品特惠及专项补贴等政策解读
阿里云2026年中小企业扶持政策,涵盖算力补贴、出海支持、AI赋能三大核心权益。政策面向初创及成长型企业,提供最高5亿元算力补贴、10万元出海资源抵扣金及4万元AI技术+资源支持。本文梳理了实名认证、权益申领、资源使用等全流程,附典型案例与注意事项。
788 6
|
8月前
|
存储 Linux 开发者
用pathlib替代os.path:现代Python路径操作最佳实践
本文对比Python中`os.path`与`pathlib`的路径处理方式,展示`pathlib`如何以面向对象、跨平台、易读性强的优势成为现代开发首选。涵盖路径构建、解析、文件操作、目录遍历等场景,结合实例说明其简洁性与实用性,并提供迁移策略与常见问题解答,助力开发者高效掌握现代化路径操作。
527 1
|
9月前
|
边缘计算 监控 网络协议
网络延迟优化方案
本文系统阐述网络延迟优化全方案,涵盖架构设计、协议调优、全球加速等十大维度,结合实战案例与最佳实践,助力构建低延迟、高稳定网络体系。
1325 0