地址错误:( unicode错误)'unicodeescape'编解码器无法解码

时间:2017-10-30 15:21:18

标签: python image

当我使用地址到图像时,显示图像的代码会出现语法错误。

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 error)'unicodeescape'编解码器无法解码位置2-3的字节:截断\ UXXXXXXXX转义

2 个答案:

答案 0 :(得分:2)

  

在Python字符串中,反斜杠"\"是一个特殊字符,也称为" escape"字符。它用于表示某些空格字符:"\t"是制表符,"\n"是换行符,"\r"是回车符。

我认为错误是引用您的地址,特别是其中的特殊字符"\"。您不能在字符串中使用"\",因为它将转义字符串。你可以尝试在你的地址中使用"\\",我认为这应该可行。

请参阅此处以获取有关此主题的更多信息:http://www.pitt.edu/~naraehan/python2/tutorial7.html

答案 1 :(得分:0)

错误在于您键入文件路径的方式。 Windows使用反斜杠\来分隔文件名中的文件和目录,但是只要解释器​​看到这些特殊字符,它就会查找unicode转义序列,例如\n。要插入反斜杠,您需要插入\\,一个斜杠触发转义序列,另一个斜杠表示反斜杠itlesf为所需的特殊字符。

您的作业将成为

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

在我的模拟中没有任何错误。