hi all, thanks for all your advice, i really learn a lot. finally i modified the code to be working as: fname = "sampledata.txt" pattern = "-1" failure = False for search in open(fname): if pattern in search: #print search #print failure failure=True print 'Lane', search.split()[2], 'Fail' if not failure: print "All Lanes Pass" thanks tcl76 > To: tutor@python.org > From: alan.ga...@btinternet.com > Date: Sun, 9 Jan 2011 14:14:17 +0000 > Subject: Re: [Tutor] Open a text file, read and print pattern matching > > > "tee chwee liong" <tc...@hotmail.com> wrote > > > File "C:/Python25/myscript/log/readfile9.py", line 5, in <module> > > port, channel, lane, eyvt = line.split() > > ValueError: need more than 2 values to unpack > > So you need to ensure that you unpack when you have the right > number of fields: > > either: > > data = line.split() > if len(data) = 4: > port, channel, lane, eyvt = data > else: continue > # rest of your code here... > > > or more pythonically: > > try: > port, channel, lane, eyvt = line.split() > # the rest of your code here > except ValueError: continue > > HTH, > > -- > Alan Gauld > Author of the Learn to Program web site > http://www.alan-g.me.uk/ > > > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > http://mail.python.org/mailman/listinfo/tutor
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor