import os
path = input()
for root, dirs, files in os.walk(path, topdown=True):
print (files)
如果我提供输入,有效 - > C:\数据
但不是:
import os
# hard-coded will only work if I use / instead of \
for root, dirs, files in os.walk('c:\data', topdown=True):
print (files)
有人可以解释一下这种行为的原因吗?谢谢。
答案 0 :(得分:1)
因为在文字字符串中,\
是一个转义字符 - 允许在文字字符串中加上引号/制表符/换行符等。
您应该使用'c:\\data'
或'c:/data'
(正斜杠在Windows中正常工作)
另一种方法是使用" raw"字符串r'c:\data'
但要小心,因为您不能再使用任何转义字符