所以我在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转换为电子邮件中的换行符?
答案 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的好邮件代码。