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

Программы на 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

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