繁体   English   中英

Python2.6 XML阅读

[英]Python2.6 XML reading

我想将系统从Active Python 2.4迁移到Python 2.6.5。 但是,我在解析XML文件时遇到一些问题。 I / O非常慢。

我的样本xml文件

<config><dicts><dictName>EnvDict</dictName><dictElems><key>AppServerIP</key>  <value>localhost</value><key>DBServerIP</key>   <value>localhost</value><key>DBServerName</key> <value>DB1</value></dictElems></dicts></config>

我的日志显示此xml解析耗时25s。

我的系统结构如下

Publisher-Subr用于将请求重定向到不同的模块

ClntMgrFact附加到PubSubr,并侦听预定义的端口。 它将产生一个新的从客户端登录的过程。

ClntMgr(process)由ClntMgrFact生成,并且也附加到PubSubr。 ClntMgr将生成一个ClntWorker(thread)来处理工作流。

ClntWorker需要从本地读取一些静态XML文件 但是解析非常慢。 我的XML文件大约是500-700k。

任何人都可以在不更改系统结构的情况下提供帮助吗? 提前致谢。

困惑...:

$ py26 -mtimeit -s'import rex' 'rex.t()'
10000 loops, best of 3: 103 usec per loop

100微秒似乎比25秒更合理的方式来读取和解析您所提供的小XML文件(即使在我用于计时的旧笔记本电脑上也是如此!),但是如何解释我解析速度比您快25万倍吗?

这是rex.py ,顺便说rex.py ...:

import xml.etree.cElementTree as et

def t(fn='static.xml'):
  return et.parse(fn)

static.xml是我编写XML示例的文件(223个字符)。

那么您的平台,操作系统,Python版本,选择的XML解析器等是什么? 我使用的是Macbook Pro笔记本电脑,OSX 10.5.8、2.4 GHz Intel Core Duo,667 MHz DDR2 RAM-正如我所说,确实是一台相当老的机器! -直接来自python.org的Python 2.6.4。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM