Python函数传递字符串至邮件正文失败,求解决方案
解决Python邮件正文变量嵌入问题
你的问题出在:代码里的hW只是邮件正文中的普通文本,Python不会自动将它替换成函数参数传入的变量值。要实现变量嵌入,需要用字符串插值的方式处理,下面是几种可行的方案:
方案1:使用f-string(Python 3.6+ 推荐)
这是最简洁直观的写法,在三引号前加上f,然后把要嵌入的变量用{}包裹:
def mail(hW): mail_body = f""" Hey, {hW} Regards, John Doe """
方案2:使用str.format()方法
如果你的Python版本低于3.6,可以用这种兼容性更好的写法:
def mail(hW): mail_body = """ Hey, {} Regards, John Doe """.format(hW)
方案3:字符串拼接(不推荐)
虽然能实现功能,但可读性差、维护麻烦,不建议使用:
def mail(hW): mail_body = """ Hey, """ + hW + """ Regards, John Doe """
修改后再调用mail("Hello World"),邮件正文中就会正确显示"Hello World"了。
内容的提问来源于stack exchange,提问作者BioRod
相关产品推荐
相关产品推荐

