Python将变量放在文本中
我有个问题 如何在Python代码中将lambda应用程序AWS的全局变量放入文本字符串中Python将变量放在文本中,python,python-3.x,aws-lambda,Python,Python 3.x,Aws Lambda,我有个问题 如何在Python代码中将lambda应用程序AWS的全局变量放入文本字符串中 def send_email(sender, recipient, aws_region, subject): SENDER = sender RECIPIENT = recipient AWS_REGION = aws_region SUBJECT = subject BODY_TEXT = "" BODY_HTML = ""&
def send_email(sender, recipient, aws_region, subject):
SENDER = sender
RECIPIENT = recipient
AWS_REGION = aws_region
SUBJECT = subject
BODY_TEXT = ""
BODY_HTML = """<html>
<head></head>
<body>
<h1>${os.environ['FUNCTION_NAME']} (Error)</h1>
<p>Service STOMP in AMQ Server in ${os.environ['ENVIRONMENT']} not respond.</p>
<br><br><br>
<p>Automatic service:</p>
<p>Lambda function: ${os.environ['FUNCTION_NAME']}</p>
<p>AMQ IPs: ${os.environ['AWS_LB']}</p>
</body>
</html>
"""
CHARSET = "UTF-8"
但是我想要
text (Error)
Service STOMP in AMQ Server in dev not respond.
Automatic service:
Lambda function: function_name
AMQ IPs: ips
将现在,您只需将要转换为字符串文字的变量的名称(例如os.environ['FUNCTION_name'])写入字符串,而不是在Python脚本/会话中运行此字符序列时预期返回的值 通过使用3.6版本中引入的f字符串,可以让Python将变量值插值到字符串中 简言之,在赋值字符串时,只需在开头引号之前添加字符f,就可以运行大括号中包含的任何代码,并将返回值/引用值插入到该位置的字符串中 如果希望使用f字符串,原始问题中的代码可能如下所示 def send_电子邮件发件人、收件人、aws_地区、主题: 发送方=发送方 收件人=收件人 AWS_区域=AWS_区域 主语 正文文本= BODY_HTML=f {os.environ['FUNCTION_NAME']}错误 {os.ENVIRONMENT['ENVIRONMENT']}中AMQ服务器中的服务STOMP没有响应 自动服务: Lambda函数:{os.environ['function_NAME']} AMQ-IPs:{os.environ['AWS_-LB']} 字符集=UTF-8
当您仅放置文本而不放置文本时,此解决方案有效。但是谢谢你的回答,我将删除引号,不管怎样,三重引用的f字符串应该可以很好地工作,正如。你检查过某处是否有打字错误或错误吗?
text (Error)
Service STOMP in AMQ Server in dev not respond.
Automatic service:
Lambda function: function_name
AMQ IPs: ips