记:转义问题DeprecationWarning: invalid escape sequence '\l'
项目运行过程中遇见的warnning 问题:
..allure-pytest/utils.py: DeprecationWarning: invalid escape sequence '\l'
return name.encode('ascii', 'backslashreplace').decode('unicode_escape')
找到位置:
分析:
产生的警告原因,是因为存在文件路径这样写的: open(D:\pro\Pictures\01.txt')
网上查到原因:
window 读取文件可以用 \,但是在字符串中 \ 是被当作转义字符来使用的
所以’d:\01a.txt’会被转义成’d:\01.txt’, 这是正确路径所以不会报错。
但 'D:\pro\Pictures\01.txt' 经过转义之后可能就找不到路径的资源了,例如 \t 可能就转义成tab键了。
解决办法
python在描述路径时可以有多种方式,常见的三种如下:
方式一: 双斜杠,转义的方式 'd:\\ 01.txt'
方式二: 显式声明字符串不用转义 'd: r\ 01.txt'
方式三: 反斜杠,同Linux的路径 'd:/ 01.txt'
最终:使用方式三 成功解决问题!