已解决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的信息,报错代码如下:

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



报错翻译


报错信息翻译

SyntaxError:(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》,python)