自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深度解讀Python示例說明

開發(fā) 后端
在向大家詳細(xì)介紹Python之前,首先讓大家了解下XX,然后全面介紹Python,還是比較常用的,于是我研究了一下Python,在這里拿出來和大家分享一下,下面進(jìn)行Python示例的解說。

Python能夠簡單而有效地實(shí)現(xiàn)面向?qū)ο缶幊?,特別適用于快速應(yīng)用程序開發(fā),也可以用來開發(fā)大規(guī)模的重要的商業(yè)應(yīng)用。Python是一個理想的腳本語言,所以深受開發(fā)人員的大力支持,下面對Python示例進(jìn)行解說。

測試結(jié)果表明, REXML xml.minidom樣消耗量資源:解析 Hamlet.xml  10 秒,占 14 MB 存;解析 Weblog.xml  190 秒,占 150 MB 存。顯然,編程語言選擇通常優(yōu)先于庫比較。。

ElementTree 個優(yōu)點(diǎn)于能夠被循環(huán)運(yùn)行。這指,您以讀入個 XML 實(shí)例,修改數(shù)據(jù)結(jié)構(gòu)使非常類似于本機(jī)風(fēng)格,然調(diào) .write() 進(jìn)行重新序列化得格式良好 XML。當(dāng)然,DOM 能做這點(diǎn),但 gnosis.xml.objectify不行。#t#

gnosis.xml.objectify構(gòu)造個定制輸出函數(shù)于生成 XML 不 那么困難 - 但這不能自動進(jìn)行。使 ElementTree 以及 ElementTree 實(shí)例 .write() ,通過便利函數(shù) elementtree.ElementTree.dump() 以序列化單獨(dú) Element 實(shí)例。這讓您以從單獨(dú)象節(jié)點(diǎn) - 其包括 XML 實(shí)例根節(jié)點(diǎn) - 編 XML 片段。

提出個簡單任務(wù)比較 ElementTree  gnosis.xml.objectify  API。于基準(zhǔn)測試型文檔 weblog.xml 包含約 8,500 個 <entry> 元素,每個元素都含有相同子字段集合 - 這個面向數(shù)據(jù) XML 文檔典型布局。

處理該文時,任務(wù)能從每個 entry 收集些字段,但這只其某些字段有特定值(或范圍,或匹配部分容)。當(dāng)然,如果您確實(shí)只想運(yùn)行這個任務(wù)。使個流 API(如 SAX)以避免存整個文檔建模 - 但這里假定該任務(wù)應(yīng)程序型數(shù)據(jù)結(jié)構(gòu)運(yùn)行任務(wù)。個 <entry> 元素能像這樣:

  1. from elementtree  
  2.     import ElementTree  
  3. weblog = ElementTree.parse(  
  4.     'weblog.xml').getroot()  
  5. interesting = [entry  
  6.     for entry  
  7.     in weblog.findall(  
  8.     'entry')  
  9.     
  10.     if entry.find(  
  11.     'host').text==  
  12.     '209.202.148.31'  
  13.     and  
  14.        entry.find(  
  15.     'statusCode').text==  
  16.     '200']  
  17.     for e  
  18.     in interesting: 

注意面不同處。 Python子元素節(jié)點(diǎn)直接作節(jié)點(diǎn)屬性進(jìn)行連接(每個節(jié)點(diǎn)都個根據(jù)標(biāo)記名命名定制類)。另方面, ElementTree 使 Element 類查找子節(jié)點(diǎn)。 .findall() 返回所有匹配節(jié)點(diǎn)列表; .find() 則僅返回***匹配節(jié)點(diǎn);

返回節(jié)點(diǎn)文本容。如果您只想 gnosis.xml.objectify 子元素***匹配,只其建立索引即 - 例如, node.tag[0] 。但如果這樣子元素只有個,那么無需建立顯式索引,您以引用。

Python示例,其實(shí)您并不 需顯式查找所有 <entry> 元素;迭代時 Element 實(shí)例行方式類似于列表。這里注意點(diǎn),不管子節(jié)點(diǎn)有何標(biāo)記, 所有子節(jié)點(diǎn)都進(jìn)行迭代。相比, gnosis.xml.objectify 節(jié)點(diǎn)沒有置遍歷所有子元素。盡管如此,構(gòu)造個行 children() 函數(shù)還挺簡單(發(fā)行版包含該函數(shù))。

責(zé)任編輯:chenqingxiang 來源: 互聯(lián)網(wǎng)周刊
相關(guān)推薦

2010-01-05 17:52:34

JSON形式

2010-03-05 10:47:05

Python futu

2010-02-22 13:53:22

Python 中文亂碼

2010-02-03 15:17:58

Python 源文件

2010-02-23 10:50:11

Python 測試框架

2010-02-02 15:37:11

2010-02-01 11:22:09

C++虛函數(shù)

2013-12-19 13:51:12

Android ApiAndroid開發(fā)Android SDK

2010-03-03 13:32:08

Python壓縮文件

2013-12-19 13:40:44

Android ApiAndroid開發(fā)Android SDK

2017-07-10 11:40:52

HP Helion匠心

2010-02-24 11:19:00

Python主線程

2010-03-02 14:41:00

WCF行為控制

2010-02-07 09:30:39

Android 程序

2011-11-16 15:54:38

2025-02-05 07:26:45

2011-05-04 14:14:10

偏光式3D技術(shù)RealD 3D

2012-03-05 13:11:57

上網(wǎng)行為管理百卓網(wǎng)絡(luò)

2013-07-24 14:06:48

2010-02-04 16:07:39

C++回調(diào)函數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號