This message contains the responses to two previous messages: In response to Steven B.,the statements Raw_packet_queue = enqueue(..., Raw_packet_queue, ...) print 'Sort 1 Raw_packet_queue is', Raw_packet_queue produce the output Sort 1 Raw_packet_queue is [[(<Pkthdr object at 0x4341d7d0>, '\x00\x00\xd1\xf0\x [EMAIL PROTECTED] 81\x8a\x02\xbf\xb1\x13\x00\x16\xe5/\xd5\xa7vu\x0e\x08\x80\x10\xf8\xe0\x8a[\x00\x 00\x01\x01\x08\n\x15\xb7\x13\xba\x8e\x91\x9a\xfd'), ['E\x00\x004', '@\x00', '\x0 6', '\x89N\xa2j\x81\x8a\x02\xbf\xb1\x13\x00\x16\xe5/\xd5\xa7vu\x0e\x08\x80\x10\x f8\xe0\x8a[\x00\x00\x01\x01\x08\n\x15\xb7\x13\xba\x8e\x91\x9a\xfd']]]
This consists of two lists [[pcap packet header, pcap packet body], [a list of selected IP header fields]]. Raw_packet_queue[0][0][1] should return the 'pcap packet body' list element. In response to Steve H., the traceback is Traceback (most recent call last): File "../Devel_2.py", line 125, in ? Inbound_Results = Parser.Sort(Inb_sequence, "Inbound-dump-"+Run_ID+"-Dropped .dmp", "Inbound-dump-"+Run_ID+"-Created.dmp") File "/home/earl/ResearchProjects/IntrusionResistance/NewPhasee2/Parser.py", l ine 291, in Sort if Raw_packet_queue[ctr][1] == Passed_IP: Last_Passed, Last_Dropped, Raw_pac ket_queue = Match(Created, Passed, Raw_packet_queue, Raw, False, Last_Passed, La st_Dropped, First_Created, ctr) File "/home/earl/ResearchProjects/IntrusionResistance/NewPhasee2/Parser.py", l ine 132, in Match Last_Passed = Raw_packet_queue[0][0][1] TypeError: unsubscriptable object On Wed, 2005-03-02 at 15:34, Steve Holden wrote: > Earl Eiland wrote: > > def Match(..., Raw_packet_queue, ...): > > ... > > print 'in Match, Raw_Packet_queue is', Raw_packet_queue # this returns > > 'Reader object at 0xaaa' > > ... > > return [Last_Passed, Last_Dropped, Raw_packet_queue] # this causes > > 'unsubscriptable object'error message > > > > #************************************************* > > def Main(...): > > Raw_packet_queue = [] > > ... > > Raw_packet_queue = enqueue(..., Raw_packet_queue, ...) # this works > > ... > > if Raw_packet_queue[ctr][1] == Passed_IP: Last_Passed, Last_Dropped, > ^^^^^^^^ > oops! > > Raw_packet_queue = Match(..., Raw_packet_queue, ...) # the problem > > starts here > > ... > > > Rule one: ALWAYS include the actual traceback, rather than providing > your interporetation of what it means (though you are then free to do > that, too). > > What makes you think it's the Match() call that's causing the problem? > > I'd be willing to bet money it's the double-subscripting of > Raw_packet_queue - if item [ctr] on the Raw_packet_queue isn't a list or > a dict then subscripting it by [1] will give you the error message that > you quote. > > But if you had included the traceback you would have made it unnecessary > for me to use my psychic powers :-) > > regards > Steve > > > On Wed, 2005-03-02 at 14:09, Bill Mill wrote: > > > >>Earl, > >> > >>Please post the smallest snippet of code you can which illustrates > >>your problem. No list is an unsubscriptable object, so you seem to be > >>passing something that is not a list to your function. > >> > >>As it stands, you don't give enough information to give an actual answer. > >> > >>Peace > >>Bill Mill > >>bill.mill at gmail.com > > > > > >> > >>On Wed, 02 Mar 2005 14:05:18 -0700, Earl Eiland <[EMAIL PROTECTED]> wrote: > >> > >>>I have a program in which I'm passing a list to functions. When I > >>>reference an element in a function to which it is passed, I get the > >>>error message "unsubscriptable object". When printing the list contents > >>>in that same function, I get "xxx is <Reader object at 0xyyyy>". How do > >>>I pass a list? > >>> > >>>Earl Eiland > >>> > >>>-- > >>>http://mail.python.org/mailman/listinfo/python-list > >>> > > > > > -- > Meet the Python developers and your c.l.py favorites March 23-25 > Come to PyCon DC 2005 http://www.pycon.org/ > Steve Holden http://www.holdenweb.com/ -- http://mail.python.org/mailman/listinfo/python-list