给RenderLog发送电子邮件,格式很好

时间:2012-01-07 07:49:42

标签: python email maya

所以我在python中编写一个脚本,将一个renderlog转储到一个文本文件中,然后通过电子邮件发送给消息体内的用户。

我正在使用这样的python:

f=open('filename.txt','r')
f.read()

其中f是文件实例。我得到的输出不是用户可读的。

  

'#\'//警告:渲染视图:所选区域太小// \ r \ ndefaultPointLight(1,1,1,1,0,0,0,0,0,1); \ r \ nrenderWindowRender redoPreviousRender renderView; \ r \ n

当我更喜欢它显示为

  

//警告:渲染视图:所选区域太小//

     

defaultPointLight(1,1,1,1,0,0,0,0,0,1);

     

renderWindowRender redoPreviousRender renderView;

是否有一种简单的方法可以将\ r和\ n转换为电子邮件中的换行符?

2 个答案:

答案 0 :(得分:0)

作为一种非常快速和肮脏的方式,你可以使用.replace(r'\ r \ n','\ n'),例如:

>>> print '# \'// Warning: Render view: Selected region is too small // \r\ndefaultPointLight(1, 1,1,1, 0, 0, 0,0,0, 1);\r\nrenderWindowRender redoPreviousRender renderView;\r\n'.replace(r'\r\n', '\n')
# '// Warning: Render view: Selected region is too small // 
defaultPointLight(1, 1,1,1, 0, 0, 0,0,0, 1);
renderWindowRender redoPreviousRender renderView;

r'\ r \ n'中的“r”表示字符串应该理解为与'\ n'完全相反,这是实际的换行符。

(实际上,我不知道你的平台的换行符是什么。相应地更改'\ n')

答案 1 :(得分:0)

首先,您需要以HTML格式发送电子邮件。通过这样做,您可以使用各种HTML标记对其进行格式化。 然后只需用<br/>标记替换中断字符。

log.replace('\n','<br/>').replace('\n\r','<br/>')

Here是一个支持html的好邮件代码。