簡體   English   中英

地址錯誤:(unicode error)'unicodeescape'編解碼器無法解碼

[英]Address error: (unicode error) 'unicodeescape' codec can't decode

當我使用圖像的地址時,顯示圖像的代碼會出現語法錯誤。

from tkinter import *
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image

Scare = Tk()
Scare.title('?????')
Countdown = 2
CountTotal = 2
CountTotal = IntVar()

def CountdownWork():
    global Countdown
    if Countdown > 0:
        Countdown = Countdown -1
        CountTotal.set(Countdown)
        Scare.after(1000, CountdownWork)
    else:
        ImageAddress = 'C:\Users\KINSLED\Desktop\New folder\ScareTest.jpg'
        ImageItself = Image.open(ImageAddress)
        ImageNumpyFormat = np.asarray(ImageItself)
        plt.imshow(ImageNumpyFormat)
        plt.draw()
        plt.pause(5) # pause how many seconds
        plt.close()



Count = Label(Scare, font=('arial', 10, 'bold'), textvariable=CountTotal, 
bd=30, bg='SeaGreen1', justify='right').grid(row=7,columnspan=8)

CountdownWork()

Scare.mainloop()

語法錯誤突出顯示 ImageAdress 中等號后的空格。

錯誤是:

(unicode 錯誤)“unicodeescape”編解碼器無法解碼位置 2-3 中的字節:截斷\\UXXXXXXXX 轉義

在 Python 字符串中,反斜杠"\\"是一個特殊字符,也稱為“轉義”字符。 它用於表示某些空白字符: "\\t"是制表符, "\\n"是換行符, "\\r"是回車符。

我相信錯誤是引用了您的地址,特別是其中的特殊字符"\\" 您不能在字符串中使用"\\" ,因為它會轉義字符串。 您可以嘗試在地址中使用"\\\\" ,我認為這應該可行。

有關該主題的進一步閱讀,請參見此處: http : //www.pitt.edu/~naraehan/python2/tutorial7.html

錯誤在於您輸入文件路徑的方式。 Windows 使用反斜杠\\來分隔文件名中的文件和目錄,但是任何時候解釋器看到這些特殊字符時,它都會查找 unicode 轉義序列,例如\\n 要插入反斜杠,您需要插入\\\\ ,一個斜杠觸發轉義序列,另一個將反斜杠 itlesf 指示為所需的特殊字符。

你的任務然后變成

ImageAddress = 'C\\:Users\\KINSLED\\Desktop\\New folder\\ScareTest.jpg'

這不會在我的模擬中引發任何錯誤。

而不是在python中使用\\ use /這種方式你可以克服這個“(Unicode錯誤)'unicodeescape'編解碼器無法解碼位置2-3的字節:截斷\\ UXXXXXXXX轉義”錯誤

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM