Python意外字符位于行连续字符之后

Python意外字符位于行连续字符之后,python,python-3.x,Python,Python 3.x,我对Python非常陌生。我正在构造一个字符串,它只不过是指向网络位置的路径,如下所示。但它会输出错误:“Python意外字符后的行继续字符”。请帮忙。我看过这篇文章,但我不确定它是否适用于我的场景: 您的一个\反斜杠会在它后面转义“双引号。然后字符串的其余部分在下一个\反斜杠之前结束,第二个反斜杠被视为一个行连续字符。因为紧接着还有另一个”,因此您会得到错误: s_path_publish_folder = r"\\" + s_host + "\" + s_publish_folder "\

我对Python非常陌生。我正在构造一个字符串,它只不过是指向网络位置的路径,如下所示。但它会输出错误:“Python意外字符后的行继续字符”。请帮忙。我看过这篇文章,但我不确定它是否适用于我的场景:


您的一个
\
反斜杠会在它后面转义
双引号。然后字符串的其余部分在下一个
\
反斜杠之前结束,第二个反斜杠被视为一个行连续字符。因为紧接着还有另一个
,因此您会得到错误:

s_path_publish_folder = r"\\" + s_host + "\" + s_publish_folder "\" + s_release_name
#                                         ^^ not end of string   ||
#                                        ^--- actual string  ---^||
#                                              line continuation /|
#                                                 extra character /   
您需要将这些反斜杠加倍:

s_path_publish_folder = r"\\" + s_host + "\\" + s_publish_folder "\\" + s_release_name
更好的是,在这里使用
os.path
模块;例如,您可以使用
os.path.join()

或者可以使用字符串模板:

s_path_publish_folder = r"\\{}\{}\{}".format(s_host, s_publish_folder, s_release_name)
s_path_publish_folder = r"\\" + os.path.join(s_host, s_publish_folder, s_release_name)
s_path_publish_folder = r"\\{}\{}\{}".format(s_host, s_publish_folder, s_release_name)