python中 replace('','')为什么会报错

Python018

python中 replace('','')为什么会报错,第1张

因为\是保留字符,所以使用时要进行转义:

也就是说“\”也换成“\\”多加一个\,这样才能避免出错;

另外还要注意在字符串前面增加r,避免转义:

>>> x='a\b\c\d'

>>> x.replace('\\','/')

'a\x08/c/d'

>>> print x.replace('\\','/')

/c/d 

>>> x=r'a\b\c\d' 

>>> x.replace('\\','/')

'a/b/c/d'

>>> print x.replace('\\','/') 

a/b/c/d

代码是这个:

print('C:\users\desktop')

1

出现这个报错

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

1

“\”在python中表示转义,而”\”打算将u转义为有意义的符号,而”\”并未能如愿,因为没有对应的转义字符。这时只能报上述的错误SyntaxError: (unicode error) ‘unicodeescape’ 。应该改为“/” 

即应改为:

print('C:/users/desktop')

1

也可以改为:

print(r'C:\users\desktop')

1

在字符串前加个 r 是为了告诉编译器这个string是个raw string,不要转义 ~

python cv2 read出错的原因:

1、路径(path)中含有中文,会导致读取失败,如:“图片熊猫1.png”,

应修改文件夹与文件名称为英文如:“picturepanda1.png”,网上说也可用unicode编码str,我试了好多种,没有效果,最好还是直接改成英文。

2、windows下分级目录间隔符“”是python中的转义符,在字符串中使用单“”,导致路径并不正确,应该使用“”,取消转义。即picturepanda1.png

3、查看后缀“.png”,".jpg"等是否带上,没有带上也会报错

更多Python知识请关注Python自学网。