繁体   English   中英

邮件中的 F 字符串 python

[英]F-String in mail python

当我使用 f-string 打印供应商名称时,我使用以下代码:

for i in range(1,10):
    print(f'{df_supplier_number["SUPPLIER NAME"][i]}')

结果如下所示:

supplier 1
supplier 2
supplier 3
supplier 4
supplier 5
...

但是当用这种方法写一个email时,我就不行了。

for i in range(1,10):
    outlook = win32.Dispatch('outlook.application')
    mail = outlook.CreateItem(0)
    mail.Subject = f'{df_supplier_number["SUPPLIER NAME"][i]}' + "_test"
    mail.To = "test@mail.com"
    mail.HTMLBody = r"""
    Hallo,<br><br>
    test """f"{df_supplier_number[i]}"r""" erstellen:<br><br>
    Mit dem Text:<br>
    test1 by """f"{df_supplier_number[i]}"r""".<br>
    Settlement Date Range: 01. November 2020 to 31. October 2021.<br><br>
    Und dem Betrag:<br>
    """f'{round(df_supplier_number[i],2)}'r""" € (wie in der angehängten Excel-Datei zu erkennen).<br><br>
    test
    """
    mail.Attachments.Add(os.getcwd()+ "\\" + f'{df_number[i]}'"_test.xlsx")
  
    mail.Send()

提前致谢!

看起来你可能已经疯狂地使用 r-string 和 f-string。 我在 HTMLBODY 部分的开头放置了一对,并删除了添加 r,f, & 可能不需要“。请尝试以下内容,看看它是否适合您。我制作了一个随机数字列表来测试所有内容似乎正在为我工作。

for i in range(1,10):
    outlook = win32.Dispatch('outlook.application')
    mail = outlook.CreateItem(0)
    mail.Subject = f'{df_supplier_number["SUPPLIER NAME"][i]}' + "_test"
    mail.To = "test@mail.com"
    mail.HTMLBody = rf"""
        Hallo,<br><br>
        test "{df_supplier_number[i]}" erstellen:<br><br>
        Mit dem Text:<br>
        test1 by "{df_supplier_number[i]}".<br>
        Settlement Date Range: 01. November 2020 to 31. October 2021.<br><br>
        Und dem Betrag:<br>
        '{round(df_supplier_number[i],2)}'€ (wie in der angehängten Excel-Datei     
zu erkennen).<br><br>
test
"""
mail.Attachments.Add(os.getcwd()+ "\\" + f'{df_number[i]}'"_test.xlsx")

mail.Send()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM