因此,我创建了一个python脚本来发送电子邮件,同时创建了一个包含占位符变量(例如%NAME%)的模板,该变量将被数据库中的数据替换
我使用下面的代码,但问题是用作第二个替换参数的变量可能并不总是包含任何内容。如果这些变量中只有一个具有None
值,则脚本以错误InsertError: replace() argument 2 must be str, not 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
时用空字符串替换占位符
尝试将参数转换为字符串。 例如:
这将强制使用同一参数的字符串版本替换第二个参数CourierName。所以
您可以尝试:
如果
TrackingNo
是None
,它将默认为""
。(您可以在此处使用任何喜欢的字符串值)如果存在
TrackingNo
,它将使用TrackingNo
的值也许你可以用
TrackingNo if TrackingNo is not None else ""
来代替TrackingNo
相关问题 更多 >
编程相关推荐