如何键入作为python中的字符串
我正在为Windows编写python程序。路径由foldername+文件名组成,其中文件名在每次迭代中都会更改。 文件夹地址始终相同,因此我将代码编写为:如何键入作为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
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了,我不再想太多反斜杠了。