python 路径被转义问题

Python08

python 路径被转义问题,第1张

python os 路径被转义的问题,以前常碰到字符串前面加r的情况,不加r有时候有问题有时候没有,也就没深究,这次就碰到一个问题搞了半天发现就是这里路径被转义了。

文件路径中的单双正反斜杠/ \ // \的意义

在python中反斜杠 \ 的功能是转义,例如:\n表示换行,\t 表示水平制表符,也就是tab键。在windows中 反斜杠 \ 也用来表示路径分隔符。

例:

这里\n表示换行,所以输出到K:\imageData就换行了,\4表示输出两个空格,\0 表示八进制编码的ASCII,\0后面的两位数就是8进制数表示的ASCII值,\0后面的8进制数44表示为十进制是4*8+4=36,在ASCII表中正好对应$符号。

如果是在os.path.join()中生成的路径,没法显示的用手改,可以配合split() 和 str.join()方法解决

split("\")把所有有 \ 的地方断开,返回一个列表

rsplit("\",1)把最后出现"\"的地方断开返回一个列表

rsplit()取负数时退化为split()方法

在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。

如下表:

原始字符串

有时我们并不想让转义字符生效,我们只想显示字符串原来的意思,这就要用r和R来定义原始字符串。