Печатный текст Python с фиксированной шириной в почте - PullRequest
0 голосов
/ 02 октября 2018

Я хочу распечатать это красивым способом и отправить по почте.string formatting применяется.

вот мой код:

"{:<40s}".format("   Expected total delivery:") + "|" + "{:>10s}".format(`number`) + "{:>10s}".format(" (" + `percentage` + ")") + "\n" + \
"{:<40s}".format("   Current delivery:") + "|" + "{:>10s}".format(`number`) + "{:>10s}".format(" (" + `percentage` + ")") + "\n" + \
"{:<40s}".format("   Suggested Daily Delivery:") + "|" + "{:>10s}".format(`number`) 

Ожидаемый результат: Expected total delivery: | <code>number (в процентах) Рекомендуемая ежедневная доставка: |number (процент) Текущая доставка: |number

Реальная ситуация в отправленном письме:

screencap из почты

Я думаю, что это будет проблемой, вызванной рассылкой,Однако я не могу понять это.

    msg.attach(MIMEText(body, 'plain'))

Любое предложение можно посоветовать?Заранее спасибо!

1 Ответ

0 голосов
/ 02 октября 2018

Вы, кажется, путаете форматирование текста и отображение шрифта.Форматирование текста - это последовательность кодов ASCII, создаваемых вашей программой;это то, что вы обрабатываете с помощью «форматирования строк», которое вы опубликовали.Рендеринг того, как эти символы влияют на то, что вы видите на экране, представляет собой взаимодействие между текстом, который вы отправляете, и программным обеспечением дисплея.Вы используете форматирование MIME.

Вам нужно заглянуть в документацию MIMEText, чтобы найти шрифты фиксированной ширины, поддерживаемые в вашем интерфейсе и устройстве отображения.Это почти наверняка простое изменение, заменив plain подходящим шрифтом, таким как courier.

...