Hello Folks, I am reading a CSV file and based on that I am creating TestCase(my own defined class) objects in a for loop. The problem is each time I create a new TestCase object in loop, previous objects data is already copied in that object.
e.g. my sample CSV file is # ------------------------- hello.pcap, 123, 231 test.pcap, 90, 899 hello2.pcap, 81, 18 # ----------------------- When I print the TestCase elements from returned list I get (Pdb) print tcLstOrig[0] Pcap Path: hello.pcap Sid List: 123, 231, 90, 899, 81, 18, (Pdb) print tcLstOrig[1] Pcap Path: test.pcap Sid List: 123, 231, 90, 899, 81, 18, (Pdb) print tcLstOrig[2] Pcap Path: hello2.pcap Sid List: 123, 231, 90, 899, 81, 18, Kindly guys advise me on this thing. Function snippet and Class definition are provided below. Regards, Fish ======= Problem Code The function snippet reading CSV and creating TestCase objects is [code] tcLst = [] # CSV file is read in variable 'lines' def returnTcLst(path): fp = open(path) lines = fp.readlines() for line in lines: tc = TestCase() i = line.find(",") tc.setPcap(line[:i].strip()) line = line[i+1:] line = line + "," i = line.find(",") while i != -1: sid = line[:i].strip() tc.appendSid(sid) line = line[i+1:] i = line.find(",") tcLst.append(tc) del tc return tcLst [/code] My TestCase Class is defined as [code] class TestCase(object): def __init__(self, pcap = None, sids = []): self.__Pcap = pcap self.__lstSid = sids def setPcap(self, path): self.__Pcap = path def appendSid(self, sid): self.__lstSid.append(sid) def __str__(self): text = "Pcap Path: " + self.__Pcap + "\n" text += "Sid List: " for sid in self.__lstSid: text += sid + ", " text += "\n" return text [/code] -- http://mail.python.org/mailman/listinfo/python-list