新聞中心
另一種方式則是整個(gè)程序全部使用Python 進(jìn)行編程編寫,例如一些泥巴游戲就是直接用LPC腳本編寫的。本文主要研究嵌入式腳本使用方法,因?yàn)槟壳按蟛糠值哪_本都不能提供如VC++那樣方便的調(diào)試環(huán)境。

本專欄以文章,已討論些 XML 庫(kù),們旨以給定編程語(yǔ)言仿真最常見(jiàn)本機(jī)操作。其,首先介紹自己、于 Python gnosis.xml.objectify 。另專門幾篇文章介紹 Haskell HaXml Ruby REXML 。雖然還未這里討論過(guò)。
但 Java JDOM Perl XML::Grove有著類似目標(biāo)。最近, comp.lang.python 新聞組注意些帖子,提 Fredrik Lundh ElementTree,個(gè)于 Python 本機(jī) XML 庫(kù)。當(dāng)然, Python 標(biāo)準(zhǔn)分發(fā)版早已包括幾個(gè) XML API。
包括:DOM 模塊、SAX 模塊、 expat包裝器不贊成使 xmllib。其,只有 xml.dom XML 文檔轉(zhuǎn)換存象,您以通過(guò)節(jié)點(diǎn)調(diào)操作這些象。實(shí)際,您存幾種不同 Python DOM 實(shí)現(xiàn),其特性各有不同:
考慮速度問(wèn)題,4Suite cDomlette( Ft.Xml.Domlette) C 語(yǔ)言構(gòu)建 DOM 樹(shù),避免使 Python 回調(diào)。當(dāng)然,出于身作自,最想做Python 進(jìn)行編程自己 gnosis.xml.objectify及其幾種目行都極其接近庫(kù)進(jìn)行比較。
ElementTree目標(biāo)以數(shù)據(jù)結(jié)構(gòu)形式存儲(chǔ) XML 文檔表示,這些數(shù)據(jù)結(jié)構(gòu)行方式同您 Python 考慮數(shù)據(jù)方式非常相似。這里關(guān)注焦點(diǎn)于以 Python 進(jìn)行編程,而不使您編程風(fēng)格順應(yīng) XML。
些基準(zhǔn)測(cè)試同事 Uche Ogbuji 曾另個(gè)出版物過(guò)篇關(guān)于 ElementTree短文。(參閱 參考資料。) ElementTree DOM 做幾個(gè)測(cè)試,其比較們相速度存消耗。Uche 選自己 cDomlette 作比較象。遺憾,不能使 Mac OSX 機(jī)器安裝 4Suite 1.0a1(研究種變通)。然而,以根據(jù) Uche 評(píng)估估計(jì)致性能 - 指出 ElementTree同 cDomlette相比,速度慢 30%,但消耗存少 30%。
極好奇, ElementTree gnosis.xml.objectify速度存比較,結(jié)果。實(shí)際,從未模塊進(jìn)行過(guò)非常精確基準(zhǔn)測(cè)試,因始終沒(méi)有個(gè)具體 比象。選擇兩個(gè)過(guò)去曾于基準(zhǔn)測(cè)試文檔:莎士比亞 哈姆雷特289 KB XML 版本,及 3 MB XML Web 日志。創(chuàng)建幾個(gè)腳本,僅于 XML 文檔解析幾種工具象模型,但此不作任何其操作:
- % cat time_xo.py
- import sys
- from gnosis.xml.objectify
- import XML_Objectify,EXPAT
- doc = XML_Objectify(sys.stdin,EXPAT).make_instance()
- ---
- % cat time_et.py
- import sys
- from elementtree
- import ElementTree
- doc = ElementTree.parse(sys.stdin).getroot()
- ---
- % cat time_minidom.py
- import sys
- from xml.dom
- import minidom
- doc = minidom.parse(sys.stdin)
所有三個(gè)案例,Python 進(jìn)行編程象創(chuàng)建非常類似,于 Python一樣。另個(gè)窗口觀察 top 輸出,以評(píng)估存使;每種測(cè)試進(jìn)行三遍以確保其致性,并其結(jié)果平均值(每次運(yùn)行使存相同)。
名稱欄目:如何正確的對(duì)Python進(jìn)行編程
文章轉(zhuǎn)載:http://www.5511xx.com/article/dhjpcjp.html


咨詢
建站咨詢
