2010-06-11 28 views
0

在我的程序中,我需要在程序中的各種函數中使用ElementTree對象。繞過ElementTree

更具體地說,我做這個:

tree = etree.parse('somefile.xml') 

我身邊路過此樹在我的計劃。

我想知道這是否是一個好方法,或者我可以這樣做:

  1. 創建一個全局樹(我來自一個 C++背景,我知道全球是 壞)
  2. 創建在需要的地方再次樹。

或者我的方法好嗎?

回答

1

在Python中,(消除複雜性,爲您的C++背景打個比方),所有對象都通過引用傳遞。由於「樹」是一個對象,所以你只傳遞參考。現在,如果您有一組相關的方法在同一棵樹上操作,您可能需要考慮創建一個具有該樹對象作爲成員的類。

而且,這裏有一個快速參考我掩蓋了上述複雜性:http://www.testingreflections.com/node/view/5126

+0

感謝。 – user225312 2010-06-11 14:06:18

+0

不客氣! – gomad 2010-06-14 15:33:49

1

通常我所做的就是使用ElementTree解析樹,然後將整個混亂轉換爲對象列表並將其傳遞給對象 - 事後處理更容易,因爲其餘代碼不必意識到這些東西起源於一些可怕的xml文件。