当我使用地址到图像时,显示图像的代码会出现语法错误。
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转义
答案 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'
在我的模拟中没有任何错误。