我試圖創建一個結構,它可以很好地解析日誌文件。我首先嚐試將字典設置爲類對象,但由於我將它們設置爲類屬性,因此這不起作用。Python兩個字典內的另一個字典內的另一個字典
我現在嘗試以下設置我的結構:
#!/usr/bin/python
class Test:
def __init__(self):
__tBin = {'80':0, '70':0, '60':0, '50':0,'40':0}
__pBin = {}
__results = list()
info = {'tBin' : __tBin.copy(),
'pBin' : __pBin.copy(),
'results': __results}
self.writeBuffer = list()
self.errorBuffer = list()
self.__tests = {'test1' : info.copy(),
'test2' : info.copy(),
'test3' : info.copy()}
def test(self):
self.__tests['test1']['tBin']['80'] += 1
self.__tests['test2']['tBin']['80'] += 1
self.__tests['test3']['tBin']['80'] += 1
print "test1: " + str(self.__tests['test1']['tBin']['80'])
print "test2: " + str(self.__tests['test2']['tBin']['80'])
print "test3: " + str(self.__tests['test3']['tBin']['80'])
Test().test()
我來這裏的目的是創建兩個字典對象(__tBin和__pBin),使它們的副本,每個測試(即TEST1 TEST2 TEST3 ...)。但是,我感覺到test1,test2和test3在我明確地製作它們的副本時仍然具有相同的值。上面的代碼還包括我如何測試我試圖完成的任務。
雖然我希望看到1,1,1印,我看到3,3,3,我想不通爲什麼,尤其是當我明確地做一個「副本()」在字典。
我關於Python 2.7.4
如果你解析xml或html,我會推薦lxml和etree。 – Mai