Python 报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3:

今天做Python数字图像处理时安装了anaconda,使用它的默认编辑器spyder。但是在运行一个简单程序(程序如下所示)出现了一个错误,该错误是:

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

其中简单的测试代码是:

# -*- coding: utf-8 -*-
"""
Created on Tue Oct 24 21:31:25 2017

@author: harchi
"""
from skimage import io
img=io.imread('C:\Users\harchi\Desktop\图像处理\skeleton.bmp')
io.imshow(img)
该错误的原因是:imread('C:\Users\harchi\Desktop\图像处理\skeleton.bmp') 这行代码中的“\””在Python中表示转义.

解决方法当然就是不让“\”代表转义。所以可以:

1、在字符串前加上r或R,即:imread(r'C:\Users\harchi\Desktop\图像处理\skeleton.bmp') ,其中r或R在python中表示一个不转义的字符串。

      2、在“\”前加上"\"实现转义。即:imread('C:\\Users\\harchi\\Desktop\\图像处理\\skeleton.bmp') 

3、将“\”换为“/”,即:imread('C:/Users\harchi/Desktop/图像处理/skeleton.bmp') 

最后:补充一下python字符串前缀的知识:

1、在字符串前加上r或R表示该字符串是非转义的原始字符串。

2、在字符串前加上u或U表示该字符串是unicode字符串。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值