Python win32com Outlook HTMLbody格式化目录不正确

Python win32com Outlook HTMLbody格式化目录不正确,python,outlook,Python,Outlook,我正在尝试在Outlook电子邮件的正文文本中使用win32com向共享目录发送超链接。我不确定当程序运行时,我的路径发生了什么变化,该程序使目录如下所示 import win32com.client as win32 outlook = win32.Dispatch('outlook.application') mail = outlook.CreateItem(0) mail.To = 'EMAIL ADDRESSES' mail.Subject = 'Subject' mail.HTMLb

我正在尝试在Outlook电子邮件的正文文本中使用win32com向共享目录发送超链接。我不确定当程序运行时,我的路径发生了什么变化,该程序使目录如下所示

import win32com.client as win32
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = 'EMAIL ADDRESSES'
mail.Subject = 'Subject'
mail.HTMLbody = ("Hello All -<br><br>"
         "Please find the following files in the shared drive:<br>"
         "<a href='\\servername1\apps\folder'>"
         "\\servername1\apps\folder</a><br><br>"
         "The file names are:<br>"
         "FILENAMES")
mail.send
将win32com.client作为win32导入
outlook=win32.Dispatch('outlook.application')
mail=outlook.CreateItem(0)
mail.To='电子邮件地址'
mail.Subject='Subject'
mail.HTMLbody=(“大家好-

” “请在共享驱动器中找到以下文件:
” “

” “文件名为:
” “文件名”) 邮寄
文件路径在电子邮件中显示为:
\servername1pps\folder

我的同事能够回答这个问题

import win32com.client as win32
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = 'EMAIL ADDRESSES'
mail.Subject = 'Subject'
mail.HTMLbody = (r"""Hello All -<br><br>
     Please find the following files in the shared drive:<br>
     <a href='\\servername1\apps\folder'>
     \\servername1\apps\folder</a><br><br>
     The file names are:<br>
     FILENAMES""")
mail.send
将win32com.client作为win32导入
outlook=win32.Dispatch('outlook.application')
mail=outlook.CreateItem(0)
mail.To='电子邮件地址'
mail.Subject='Subject'
mail.HTMLbody=(r“”“大家好-

请在共享驱动器中找到以下文件:


文件名为:
文件名“”) 邮寄
我们在后面加上了“r”和三重引号,结果成功了


不知道r是什么意思,但它起作用了。也许有人能向我解释r是什么。可能是个愚蠢的问题,但我真的不知道。

要回答你的第二个问题,“字符串前面的r是什么意思”,它的意思是原始字符串。要从另一个stackoverflow页面引用:

r表示该字符串将被视为原始字符串,这意味着所有转义码都将被忽略

因此,如果您有一个文件路径,其中文件夹名称的单词之间有空格,则必须使用r前缀。例如:r“C:\Users\A010101\Desktop\Space-between\file.txt”

请参见关于r前缀的问题页面: