Python: 在多行字符串中使用变量

Python: Use Variable in mulit-line string

我有两个变量:

subject = 'this is the subject'
body = 'this is the content'

为了使用 smtplib 通过电子邮件发送此消息,我将消息变量作为多行字符串。但是 .format() 方法不起作用。有人有解决这个问题的想法吗?

消息字符串:

    message = """\
    Subject: (variable subject)


    (variable content)"""

为了简单起见,您可以使用 f 字符串:

message = f"""
    Subject: {subject}


    {body}"""

这里是format()的正确使用方法:

message = """
subject = {}


{}
""".format(subject, body)

要使用格式,请将 {} 放在需要添加变量的位置,然后使用 sequential[= 声明 .format() 25=] 您希望将那些 {} 替换为

的变量列表

我不完全确定你指的是什么,但这是我最好的猜测:

message = 'Subject: {}\n\n{}'.format(subject,body)

@juanpa.arrivillaga

我的尝试:

message = """\
    Subject: {.format(subject)}


    Python test"""

试试这个:

>>> subject = 'this is the subject'
>>> body = 'this is the content'
>>> message = '''\
... Subject: {subject}
...
... {body}\
... '''.format(subject=subject, body=body)
>>> print(message)
Subject: this is the subject
this is the content