使用glob模块读取文件夹多文件时出现Unicode转义语法错误
解决Python路径的UnicodeEscape语法错误
这个问题我太熟了!你碰到的SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape是Python处理Windows路径时的经典坑——原因是Python把路径里的反斜杠\当成了转义字符,比如你路径里的C:\Users,\U会被Python识别为Unicode转义序列的开头,但后面的sers并不是合法的Unicode码点,所以直接报错说转义序列被截断了。
给你三种简单的解决办法,选哪种都能搞定:
方法一:使用原始字符串(最推荐,写法最简单)
在路径字符串前面加个r,告诉Python“这是原始字符串,别解析里面的转义字符”:for name in glob.glob(r'C:\Users\lpa\namefolder1\namefolder2\namefolder3/*'):方法二:用双反斜杠替换单反斜杠
把路径里的每个\改成\\,这样Python会把\\解析成单个普通的反斜杠:for name in glob.glob('C:\\Users\\lpa\\namefolder1\\namefolder2\\namefolder3/*'):方法三:用正斜杠代替反斜杠
Python对路径的兼容性很好,不管是Windows还是类Unix系统,都能识别正斜杠/:for name in glob.glob('C:/Users/lpa/namefolder1/namefolder2/namefolder3/*'):
个人建议优先用原始字符串或者正斜杠,写起来省心还不容易出错~
内容的提问来源于stack exchange,提问作者Lpng
相关产品推荐
相关产品推荐

