Python 连接字符串时下线+;路径
我需要用字符串连接特定文件夹路径,例如: mystring=“blabla”Python 连接字符串时下线+;路径,python,string,concatenation,eol,Python,String,Concatenation,Eol,我需要用字符串连接特定文件夹路径,例如: mystring=“blabla” path=“C:\folder\whatever\” 打印(路径+mystring)应返回: C:\folder\whatever\blabla 但是,我总是会遇到EOL错误,路径中必须有这样的斜杠:\n而不是这样:/ 请给我指路,我试过使用r'它不起作用,我试过添加双“”,但什么都不起作用,我想不出来。对于\,请使用转义字符\: mystring = "blablabla" path = "C:\\folder\\w
path=“C:\folder\whatever\” 打印(路径+mystring)应返回: C:\folder\whatever\blabla 但是,我总是会遇到EOL错误,路径中必须有这样的斜杠:\n而不是这样:/
请给我指路,我试过使用r'它不起作用,我试过添加双“”,但什么都不起作用,我想不出来。对于
\
,请使用转义字符\
:
mystring = "blablabla"
path = "C:\\folder\\whatever\\"
conc = path + mystring
print(conc)
# C:\folder\whatever\blablabla
或者,使用原始字符串,但是将最后一个反斜杠从path
的末尾移动到myString
的开头:
mystring = r"\blablabla"
path = r"C:\folder\whatever"
conc = path + mystring
print(conc)
# C:\folder\whatever\blablabla
您自己的原始字符串方法不起作用的原因是原始字符串可能不会以单个反斜杠结尾:
具体来说,原始文字不能以单个反斜杠结尾(因为
反斜杠将转义以下引号字符)
从
\
使用转义字符\
:
mystring = "blablabla"
path = "C:\\folder\\whatever\\"
conc = path + mystring
print(conc)
# C:\folder\whatever\blablabla
或者,使用原始字符串,但是将最后一个反斜杠从path
的末尾移动到myString
的开头:
mystring = r"\blablabla"
path = r"C:\folder\whatever"
conc = path + mystring
print(conc)
# C:\folder\whatever\blablabla
您自己的原始字符串方法不起作用的原因是原始字符串可能不会以单个反斜杠结尾:
具体来说,原始文字不能以单个反斜杠结尾(因为
反斜杠将转义以下引号字符)
从
os.path.join()
连接路径,并使用r
前缀允许单反斜杠作为Windows路径分隔符:
r“C:\folder\whatever”
现在,现在需要后面的反斜杠:
>>> import os
>>> mystring = "blablabla"
>>> path = r"C:\folder\whatever"
>>> os.path.join(path, mystring)
'C:\\folder\\whatever\\blablabla'
始终使用
os.path.join()
连接路径,并使用r
前缀允许单反斜杠作为Windows路径分隔符:
r“C:\folder\whatever”
现在,现在需要后面的反斜杠:
>>> import os
>>> mystring = "blablabla"
>>> path = r"C:\folder\whatever"
>>> os.path.join(path, mystring)
'C:\\folder\\whatever\\blablabla'
两件事
首先,关于EOL错误,在没有访问实际python会话的情况下,我的最佳猜测是python在抱怨,因为您有一个由final“
正在转义的字符,即使字符串的前缀是r
,也会发生转义。”。我的意见是,您应该删除前缀并正确地显示所有反斜杠,如:\\
在您的示例中,path
然后变成path=“C:\\folder\\which\\\”
其次,不应手动连接路径,而应使用:
请注意os.path
将使用运行应用程序的操作系统的路径转换,因此如果在Linux上运行上述代码,则会产生错误/意外的结果。查看我链接的页面顶部的注释了解详细信息。两件事
首先,关于EOL错误,在没有访问实际python会话的情况下,我的最佳猜测是python在抱怨,因为您有一个由final“
正在转义的字符,即使字符串的前缀是r
,也会发生转义。”。我的意见是,您应该删除前缀并正确地显示所有反斜杠,如:\\
在您的示例中,path
然后变成path=“C:\\folder\\which\\\”
其次,不应手动连接路径,而应使用:
请注意
os.path
将使用运行应用程序的操作系统的路径转换,因此如果在Linux上运行上述代码,则会产生错误/意外的结果。查看我链接的页面顶部的注释以了解详细信息。不要以反斜杠结束路径。如果您使用os.path.join
,您将永远不需要这样做。不要以反斜杠结束路径。如果您使用os.path.join
,您将永远不需要这样做。非常感谢您的解释!非常感谢您的解释!