我有一个目录,我希望迭代所有文件。它看起来像myPath = "D:\workspace\test\main\test docs"
,当我打印出myPath时,它看起来像"D:\\workspace\test\\main\test docs"
。正如您所看到的,除了最后一个斜杠之外,它还为每个斜杠添加了斜杠。
当我执行for path, dirs, files in os.walk(myPath):
时,如果没有,则无效
额外的斜线。为什么python没有在最后一个斜杠上添加额外的斜杠?
它正在另一台计算机上运行。
答案 0 :(得分:3)
因为 '\t'
是一个有意义的转义序列:它是标签,就像2.4.1 String literals section中指定的那样。其他只是在这里没有意义,所以Python会为你逃避这些(免费)。
您可以添加额外的反斜杠,如:
myPath = "D:\\workspace\\test\\main\\test docs"
或者您可以使用原始字符串,前缀为r
:
myPath = r"D:\workspace\test\main\test docs"
在那种情况下:
除非存在
r' or
R'前缀,否则字符串中的转义序列将根据与标准C使用的规则类似的规则进行解释。
这意味着反斜杠(\
)不被解释为特殊的东西,但仅作为反斜杠。