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

Reply via email to