如何键入作为python中的字符串

如何键入作为python中的字符串,python,python-3.x,string,windows,path,Python,Python 3.x,String,Windows,Path,我正在为Windows编写python程序。路径由foldername+文件名组成,其中文件名在每次迭代中都会更改。 文件夹地址始终相同,因此我将代码编写为: path = "%s%s" % ("C:\Users\ME\raw_image\", filename) 但是我注意到字符\“被认为是转义,而且\r是有问题的。我尝试了一些方法,但无法解决这个问题 有什么想法吗?在代码中使用\\而不是\,如下示例: >>> print("C:\\Users\\Me\\raw_ima

我正在为Windows编写python程序。路径由foldername+文件名组成,其中文件名在每次迭代中都会更改。 文件夹地址始终相同,因此我将代码编写为:

 path =  "%s%s" % ("C:\Users\ME\raw_image\", filename)
但是我注意到字符\“被认为是转义,而且\r是有问题的。我尝试了一些方法,但无法解决这个问题


有什么想法吗?

在代码中使用
\\
而不是
\
,如下示例:

>>> print("C:\\Users\\Me\\raw_image\\")
C:\Users\Me\raw_image\

在代码中使用
\\
而不是
\
,如下示例:

>>> print("C:\\Users\\Me\\raw_image\\")
C:\Users\Me\raw_image\

您有两个选项。使用原始字符串作为文件夹路径:

path =  r"%s\%s" % (r"C:\Users\ME\raw_image", filename)
或使用反斜杠转义反斜杠:

path =  "%s%s" % ("C:\\Users\\ME\\raw_image\\", filename)

正如@Erik Sun所指出的,使用原始字符串需要对尾部反斜杠进行特殊处理,即尝试
r“C:\Users\ME\raw\u image\”
会导致语法错误,因为Python会将尾部反斜杠解释为双引号上的转义


为了解决这个问题,我只需将最后一个反斜杠移到未匹配的字符串
r“%\%”

您有两个选项。或者使用原始字符串作为文件夹路径:

path =  r"%s\%s" % (r"C:\Users\ME\raw_image", filename)
或使用反斜杠转义反斜杠:

path =  "%s%s" % ("C:\\Users\\ME\\raw_image\\", filename)

正如@Erik Sun所指出的,使用原始字符串需要对尾部反斜杠进行特殊处理,即尝试
r“C:\Users\ME\raw\u image\”
会导致语法错误,因为Python会将尾部反斜杠解释为双引号上的转义


为了解决这个问题,我只需将最后一个反斜杠移到未匹配的字符串
r“%\%”

您可以像这样添加另一个反斜杠:

path =  "%s%s" % ("C:\\Users\\ME\\raw_image\\", filename)

您可以添加另一个反斜杠,如下所示:

path =  "%s%s" % ("C:\\Users\\ME\\raw_image\\", filename)

我建议您使用str.format()函数,因为这样可以避免“转义”反斜杠

e、 g

输出将是:

C:\\Users\\Me\\raw_image\\filename.txt

我建议您使用str.format()函数,因为这样可以避免“转义”反斜杠

e、 g

输出将是:

C:\\Users\\Me\\raw_image\\filename.txt

@Rakesh,Python的“raw”字符串不支持奇数个尾随反斜杠。请使用
os.path.join(r“C:\Users\ME\raw\u image”,文件名)
“\”是python字符串中的转义字符。要将转义字符本身打印为字符串,您可以转义它!“\”是您所追求的。在处理路径时,最好使用
os.path.join(…)
instead@JeffreyDevloo我通常是这样做的,因为现在我正在创建一些xml文件来输入一个只在windows下工作的程序……长话短说,我必须这样做,否则我总是使用os.path.jon(…)@Rakesh,请删除带有以反斜杠结尾的无效原始字符串的注释。它会吸引幼稚的向上投票,这会产生误导,浪费每个人的时间,只会尝试得到语法错误。@Rakesh,Python的“原始”字符串不支持奇数个尾随反斜杠。请使用
os.path.join(r“C:\Users\ME\raw\u image“,文件名)
“\”是python字符串中的转义字符。要将转义字符本身打印为字符串,您可以转义它是您所追求的。在使用路径时,最好使用
os.path.join(…)
instead@JeffreyDevloo我通常是这样做的,现在我正在创建一些xml文件来输入一个只在windows下工作的程序。。。长话短说,我必须这样做,否则我总是使用os.path.jon(…)@Rakesh,请用以反斜杠结尾的无效原始字符串删除您的评论。它吸引了天真的向上投票,这是一种误导,浪费了每个人的时间,只会导致语法错误。谢谢,我太习惯使用pathlib了,我不再想太多反斜杠了。谢谢,我太习惯使用pathlib了,我不再想太多反斜杠了。