由于Python代码中的制表符,删除电子邮件正文中的制表符

由于Python代码中的制表符,删除电子邮件正文中的制表符,python,Python,我有以下发送电子邮件的代码。除了显示带有选项卡的消息外,它可以正确呈现。这段代码在逻辑中被正确地标记了,它看起来像是在尊重代码库中的标记,并通过电子邮件库传递它 if rc != 0: ... email_body = """ Module: %s Installed: %s Required: %s """ %(module, installed_version, required_version) ... 输出 只是不要将前导制表符放

我有以下发送电子邮件的代码。除了显示带有选项卡的消息外,它可以正确呈现。这段代码在逻辑中被正确地标记了,它看起来像是在尊重代码库中的标记,并通过电子邮件库传递它

if rc != 0:
    ...
    email_body = """
    Module: %s
    Installed: %s
    Required: %s
    """ %(module, installed_version, required_version)
    ...
输出
只是不要将前导制表符放在字符串中:

if rc != 0:
    ...
    # trailing slash: omit linebreak in string
    email_body = """\
Module: %s
Installed: %s
Required: %s""" %(module, installed_version, required_version)
    ...
看看

删除文本中每一行的任何常见前导空格

您还可以将字符串编写为:

>>> print("Module: %s\n"                                                 
...       "Installed: %s\n"                                              
...       "Required: %s"                                               
...       %('a', 'b', 'c'))
Module: a
Installed: b
Required: c

>>>
用于形成电子邮件正文:

from email.mime.text import MIMEText


# ...
email_body = """
Module: %s
Installed: %s
Required: %s
""" %(module, installed_version, required_version)

email_body = MIMEText(email_body)
# ...

已安装和必需的模块应在主机名下对齐。它正按照您所说的进行操作。去掉它前面的标签,你就会好起来。或者,如果这看起来很难看,手动将
\n
s放入字符串中。啊,好吧,我想我试过了,但它破坏了我的代码。我想我错过了“`下一行需要以与
email_body=“””相同的缩进级别开始”
。也许你没有写一行无关的内容?这就是我要找的。非常感谢!
>>> print("Module: %s\n"                                                 
...       "Installed: %s\n"                                              
...       "Required: %s"                                               
...       %('a', 'b', 'c'))
Module: a
Installed: b
Required: c

>>>
from email.mime.text import MIMEText


# ...
email_body = """
Module: %s
Installed: %s
Required: %s
""" %(module, installed_version, required_version)

email_body = MIMEText(email_body)
# ...