Ошибка Python: InsertError: аргумент replace() 2 должен быть str, а не NonePython

Программы на Python
Ответить
Anonymous
 Ошибка Python: InsertError: аргумент replace() 2 должен быть str, а не None

Сообщение Anonymous »

Поэтому я создаю скрипт Python для отправки электронных писем, а шаблон содержит переменные-заполнители (например, %NAME%), которые будут заменены данными из базы данных.
Я использую приведенный ниже код, но проблема в том, что переменные, используемые в качестве вторых аргументов замены, не всегда могут ничего содержать. Если хотя бы одна из этих переменных имеет значение None, сценарий завершается ошибкой InsertError: аргумент replace() 2 должен быть str, а не None

Код: Выделить всё

with open ("D:\Scripts\html.html", "r") as htmlfile:
html = htmlfile.read().replace("%TRACKINGNO%", TrackingNo).replace("%COURIER%", CourierName).replace("%ORDERNO%", OrderNo).replace("%TRACKURL%", URL).replace("%DESPATCHEDDATE%", DespatchedDate).replace("%NAME%", PostalName).replace("%POSTCODE%", PostCode)
Есть ли краткий способ сделать так, чтобы, если переменная имеет значение None, она заменяла заполнитель пустой строкой?


Подробнее здесь: https://stackoverflow.com/questions/632 ... r-not-none
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»