已解决SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: truncated



已解决(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问题,以及粉丝群里小伙伴提出的各种问题,文章形式:报错代码 + 报错翻译 + 报错原因 + 解决方法,包括程序安装、运行程序过程中等等问题,订阅专栏+关注博主后如遇到其他问题可私聊帮忙解决!!!

猜你喜欢

转载自blog.csdn.net/yuan2019035055/article/details/126368281