已解决SyntaxError: (erro unicode) codec 'unicodeescape' não pode decodificar bytes na posição 2-3: truncado



Resolvido (erro de arquivo de leitura do Python) SyntaxError: (erro unicode) codec 'unicodeescape' não pode decodificar bytes na posição 2-3: escape \UXXXXXXXXXX truncado











Erro de código



Um amigo do grupo de fãs queria usar o pdfplumber para ler as informações do PDF, mas ocorreu um erro (na época, ele sentiu muito frio no coração e veio até mim para pedir ajuda e o ajudou com sucesso resolvê-lo, aliás, espero que possa ajudar mais Quem encontrar esse bug não vai resolver), o código de erro é o seguinte:

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)

A mensagem de erro é a seguinte : SyntaxError: (erro unicode) codec 'unicodeescape' não pode decodificar bytes na posição 2-3: truncado \UXXXXXXXXXX escape





erro de tradução



Tradução da mensagem de erro :

Erro de sintaxe: (erro unicode) O codec 'UnicodeScape' não pode decodificar bytes nas posições 2-3: truncado \uxxxxxxx escapa





Motivo do erro



O motivo do erro : pode ser usado para ler o caminho do arquivo no sistema windows \, mas tem o significado de escape na string python \, como \t pode representar TAB, \n representa newline, então precisamos tomar algumas maneiras de fazer \ não ser interpretado como caractere de escape.Existem atualmente 3 soluções, você pode ver as soluções abaixo! ! !





Solução



Aparece em Python: SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: truncated \UXXXXXXXX escapetudo pode ser resolvido das três maneiras a seguir:

Solução 1: Adicione na frente do caminho string r, ou seja, mantenha o valor original do caractere. (mais comumente usado, altamente recomendado):

file_path = r'C:\Users\Administrator\Desktop\test.pdf'

Solução 2: \Adicione uma barra na frente de cada uma para manter o significado original da barra:

file_path = 'C:\\Users\\Administrator\\Desktop\\test.pdf'

Solução 3: substitua \tudo por barras/

file_path = 'C:/Users/Administrator/Desktop/test.pdf'

Executar o código novamente fez o truque:

insira a descrição da imagem aqui



ajuda



Este artigo foi incluído em: coluna "Farewell to Bug"

Esta coluna é usada para registrar vários bugs difíceis encontrados no estudo e no trabalho, bem como vários problemas levantados por pequenos parceiros do grupo de fãs. Formato do artigo: código do erro + tradução do erro + motivo do erro + solução, incluindo instalação do programa, operação Se você encontrar outros problemas no processo do programa, se você encontrar outros problemas depois de se inscrever na coluna + seguir o blogueiro, você pode conversar em privado para ajudar a resolvê-los! ! !

おすすめ

転載: blog.csdn.net/yuan2019035055/article/details/126368281