Форум сайта python.su
Доброе время.
# -*- coding: utf-8 -*- from __future__ import print_function import re, sys, os, io myFile="e://search.txt" def searchStr(myFile): global findmail with io.open(myFile, encoding='utf-8') as f: head=[next(f) for x in range(5)] for i in head: res=re.findall('From:.*<*>', i) mail=''.join(res) findmail=mail[7:-1] return findmail j=0 j=searchStr(myFile) print(j) print(findmail)
Офлайн
Даже если опустить ненужность там global findmail, где файл из которого оно должно вытянуть емейл?
[code python][/code]
Офлайн
файл есть, лежит по указанному пути: e:\search.txt
dgfhgfhgfh gfhgfh gfhgfhfg
hgfh ghfgh From: <ivanov@domain.ru>
gfdfgfd
fgdfgdf
fgdfgdffg for: <it@domain.ru>
gtdfgdf
fgdfgdfg
fgdfgdfg
fgdfgdfgd
Офлайн
P_NНифига оно не находит, оно вам возвращает то что находит в первой строчке вашего файла.
е-мейл в функции находит
[code python][/code]
Отредактировано PEHDOM (Окт. 2, 2017 15:03:05)
Офлайн
Наверняка не оптимально, но вроде работает:
from __future__ import print_function import re, sys, os, io myFile="e://search.txt" def searchStr(myFile): with io.open(myFile, encoding='utf-8') as f: head=[next(f) for x in range(5)] for i in head: res=re.search('From:.*<*>', i) if not res: continue res.span() mail=i[res.start():res.end()] return mail searchStr(myFile) j=searchStr(myFile) print(j[7:-1])
Офлайн
>>> s='''dgfhgfhgfh gfhgfh gfhgfhfg hgfh ghfgh From: <ivanov@domain.ru> gfdfgfd fgdfgdf fgdfgdffg for: <it@domain.ru> gtdfgdf fgdfgdfg fgdfgdfg fgdfgdfgd ''' >>> lst = re.findall('From:.*<*>',s) >>> for i in lst: print(i.split('<')[-1][:-1]) ivanov@domain.ru >>>
Отредактировано vic57 (Окт. 2, 2017 18:42:30)
Офлайн