收集 Python 输出直到当前执行并将其分配给用于发送电子邮件的变量
Collect Python output till current execution and assign it to variable for sending email
我正在使用 Python 进行文本处理,我在其中查找控制台日志中的特定文本并打印每个匹配的行。这是通过一个函数完成的:
get_matched_log_lines(url, search_pattern, print_pattern)
其中 url
= 我从中获取我的日志,search_pattern
= 我的目标搜索模式,print_pattern
= 我想要打印输出的方式(它,%s.%s
)
如何通过电子邮件发送函数 get_matched_log_lines()
的整个输出?发邮件功能代码我已经写在Python.
这是我目前think/attempted所做的:
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)
这为我提供了一封空电子邮件。
这是我根据 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)
我正在使用 Python 进行文本处理,我在其中查找控制台日志中的特定文本并打印每个匹配的行。这是通过一个函数完成的:
get_matched_log_lines(url, search_pattern, print_pattern)
其中 url
= 我从中获取我的日志,search_pattern
= 我的目标搜索模式,print_pattern
= 我想要打印输出的方式(它,%s.%s
)
如何通过电子邮件发送函数 get_matched_log_lines()
的整个输出?发邮件功能代码我已经写在Python.
这是我目前think/attempted所做的:
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)
这为我提供了一封空电子邮件。
这是我根据 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)