2012-01-07 1 views
0

Итак, я пишу скрипт на питоне, который выгружает визуализатор в текстовый файл и затем отправляет его пользователю в тело сообщения.email RenderLog с хорошим форматированием

Я использую питона читать как так:

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

где f является экземпляр файла. Выход, который я получаю, не очень читается пользователем.

'# \' // Предупреждение: визуальный вид: выбранная область слишком мала // \ r \ ndefaultPointLight (1, 1,1,1, 0, 0, 0,0,0, 1); \ г \ nrenderWindowRender redoPreviousRender RenderView; \ г \ п

, когда я лучше отобразить его как

// Предупреждение: Рендер вид: Выбранный регион слишком мал //

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

renderWindowRender redoPreviousRender renderView;

Есть ли простой способ конвертировать \ r и \ n в linebreaks в электронном письме?

ответ

0

Как очень быстро и грязный способ, вы можете использовать .Привернуть (г «\ г \ п», «\ п»), например:

>>> 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 \ n» означает, что строка должна пониматься буквально в противоположность «\ n», которая является фактической развязкой строки.

(На самом деле, я не знаю, что это LINEBREAK характер вашей платформы. Изменение «\ п» соответственно)

+0

Спасибо! Это сработало. –

0

Прежде всего, вам нужно отправить по электронной почте в формате HTML. Делая это, вы можете отформатировать его с помощью различных тегов HTML. Затем просто замените символы разрыва знаком <br/>.

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

Here хороший почтовый код с HTML поддержки.