地址错误:(unicode error)'unicodeescape'编解码器无法解码
Posted
技术标签:
【中文标题】地址错误:(unicode error)\'unicodeescape\'编解码器无法解码【英文标题】:Address error: (unicode error) 'unicodeescape' codec can't decode地址错误:(unicode error)'unicodeescape'编解码器无法解码 【发布时间】:2018-04-11 15:24:27 【问题描述】:当我使用图像的地址时,显示图像的代码出现语法错误。
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 转义
【问题讨论】:
【参考方案1】:在 python 中不要使用\
,而是使用/
。这样你就可以克服这个
(Unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated\UXXXXXXXX escape" error
【讨论】:
【参考方案2】:在 Python 字符串中,反斜杠
"\"
是一个特殊字符,也称为“转义”字符。它用于表示某些空白字符:"\t"
是制表符,"\n"
是换行符,"\r"
是回车符。
我认为错误是引用您的地址,特别是其中的特殊字符 "\"
。您不能在字符串中使用"\"
,因为它会转义字符串。您可以尝试在您的地址中使用"\\"
,我认为这应该可以。
有关该主题的进一步阅读,请参阅此处:http://www.pitt.edu/~naraehan/python2/tutorial7.html
【讨论】:
谢谢 我不知道斜线会干扰。现在可以了。【参考方案3】:错误在于您输入文件路径的方式。 Windows 使用反斜杠 \
来分隔文件名中的文件和目录,但是任何时候解释器看到这些特殊字符时,它都会寻找一个 unicode 转义序列,例如 \n
。要插入反斜杠,您需要插入\\
,一个斜杠触发转义序列,另一个指示反斜杠 itlesf 作为所需的特殊字符。
你的任务就变成了
ImageAddress = 'C\\:Users\\KINSLED\\Desktop\\New folder\\ScareTest.jpg'
这不会在我的模拟中引发任何错误。
【讨论】:
以上是关于地址错误:(unicode error)'unicodeescape'编解码器无法解码的主要内容,如果未能解决你的问题,请参考以下文章