0

Я занимаюсь обработкой текста с использованием Python, в котором я ищу конкретный текст в журнале консоли и печатаю каждую согласованную строку. Это достигается с помощью функции, называемой:Собрать вывод Python до текущего исполнения и присвоить его переменной для отправки по электронной почте

get_matched_log_lines(url, search_pattern, print_pattern) где url = от которого я получаю мой журнал, search_pattern = моя цель шаблон поиска, print_pattern = путь Я хочу напечатать мой вывод (его, %s.%s)

Как отправить весь этот результат функции get_matched_log_lines() по электронной почте? Код функции отправки электронной почты уже написан мной в Python.

Вот что я думаю/пытался до сих пор:

email_content = get_matched_log_lines(url, search_pattern, print_pattern) 
TO = 'recipient email address' 
FROM ='sender email address' 

#emailing function - py_mail 
py_mail("Test email subject", email_content, TO, FROM) 

Это дает мне пустое письмо.

+0

И ваш вопрос? – PyNEwbie

+0

Я только что редактировал свой вопрос, спрашивая ... Как отправить весь этот вывод функции get_matched_log_lines() по электронной почте? Надеюсь, теперь это яснее. –

+0

Возможный дубликат [Как отправить электронное письмо с Python?] (Http://stackoverflow.com/questions/6270782/how-to-send-an-email-with-python) – PyNEwbie

ответ

0

Вот мой ответ на основе предложений по PyNEwbie:

def get_matched_log_lines(url, search_pattern, print_pattern): 
     out = open("output_file.txt", "w") 
     for something in somthings: 
       test = print_pattern % matched_line 
       print >>out, test 
      out.close() 

^^ только общий пример (синтаксис может быть неправильно). Идея состоит в том, чтобы открыть file in write mode, а затем сбросить выходные данные в нем.

fp = open("output_file.txt", 'r') 
    # Create a text/plain message 
    msg = fp.read() 
    fp.close() 
    email_content = msg 

Затем откройте же file in read mode и сохранить свой вывод в какой-то вар (в моем случае) email_content

Наконец отправить письмо с этой email_content,

email_content = get_matched_log_lines(url, search_pattern, print_pattern) 
    TO = 'recipient email address' 
    FROM ='sender email address' 

#emailing function - py_mail 
py_mail("Test email subject", email_content, TO, FROM) 
Смежные вопросы