On 30/07/15 23:51, ltc.hots...@gmail.com wrote:
fname = raw_input("Enter file name: ") if len(fname) < 1 : fname = "mbox-short.txt" # assign fname fh=open(fname,'r') # Open a new file handle for line in fh: print line if 'From' in line.split()[0] and '@' in line: sender = line.split()[2]
Note that you are overwriting sender each time through the loop. Also [2] isa the third element, I think you want the second [1] BTW Its probably clearer to write that last line as: if line.startswith('From') and '@' in line: sender = line.split()[1] Better still may be to split the line first: sections = line.split() if 'FROM' in sections[0].upper() and '@' in sections: sender = sections[1]
print sender
And this is outside the loop so will only print the last item. To print all of them you need to move the print inside the loop. hth -- Alan G Author of the Learn to Program web site http://www.alan-g.me.uk/ http://www.amazon.com/author/alan_gauld Follow my photo-blog on Flickr at: http://www.flickr.com/photos/alangauldphotos _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor