我试图创建一个结构,它可以很好地解析日志文件。我首先尝试将字典设置为类对象,但由于我将它们设置为类属性,因此这不起作用。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