已解决(Python读取文件报错)SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: truncated \UXXXXXXXX escape
报错代码
粉丝群一个小伙伴想用pdfplumber读取PDF的信息却发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错代码如下:
import pdfplumber
def pdf(file_path):
print(file_path)
with pdfplumber.open(file_path) as pdf:
for page in pdf.pages:
text = page.extract_table()
try:
for i in text:
print(i)
except Exception as e:
print(e)
file_path = 'C:\Users\Administrator\Desktop\test.pdf'
pdf(file_path)
运行报错信息如下:SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: truncated \UXXXXXXXX escape
报错翻译
报错信息翻译:
语法报错:(unicode错误)“UnicodeScape”编解码器无法解码位置2-3中的字节:截断\uxxxxxxx转义
报错原因
报错原因:在windows系统当中读取文件路径可以使用\
,但是在python字符串中\
有转义的含义,如\t可代表TAB,\n代表换行,所以我们需要采取一些方式使得\不被解读为转义字符。目前有3个解决方案,小伙伴们看下面的解决方法即可!!!
解决方法
在Python中出现:SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: truncated \UXXXXXXXX escape
都可以用以下三种方法解决:
解决方法1:在路径字符串前面加r
,即保持字符原始值的意思。(最常用,强烈推荐使用):
file_path = r'C:\Users\Administrator\Desktop\test.pdf'
解决方法2:在每个\
前面在加一个斜杠,表示让斜杠保持原始字符意思:
file_path = 'C:\\Users\\Administrator\\Desktop\\test.pdf'
解决方法3:把\
全部替换为正斜杠/
file_path = 'C:/Users/Administrator/Desktop/test.pdf'
再次运行代码就成功了:
帮忙解决
本文已收录于:《告别Bug》专栏
本专栏用于记录学习和工作中遇到的各种疑难Bug问题,以及粉丝群里小伙伴提出的各种问题,文章形式:报错代码 + 报错翻译 + 报错原因 + 解决方法,包括程序安装、运行程序过程中等等问题,订阅专栏+关注博主后如遇到其他问题可私聊帮忙解决!!!