写路径问题
初学者在学习时,往往会遇到一个错误,如下:
File "E:/python/test.py", line 77
path = "C:\Users\Administrator\Desktop"
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
这个错误其实是因为这行代码引起的:
path = "C:\Users\Administrator\Desktop"
在这行代码中,有几个"\",而"\"在python中表示转义,转义是什么意思呢?举个例子: 执行以下代码将打印一个换行:
print("\n")
为什么不是输出"\n",而是输出一个换行呢,因为"n"经过"\"转义之后,成为一个换行符。 好的,现在回到我们的问题上,我们的变量path中的值带有"\",而"\"打算将U转义为有意义的符号,而"\"并未能如愿,因为没有对应的转义字符。这时只能报上述的错误SyntaxError: (unicode error) 'unicodeescape' 。
那么该如何解决呢?
第一种办法:
在字符串前加一个字母 r,如下:
path=r"C:\Users\Administrator\Desktop"
在字符串前加个 r 是为了告诉编译器这个string是个raw string,不要转义。
第二种办法:
将字符串中的反斜杠换成正斜杠,如下:
path="C:/Users/Administrator/Desktop"
关于路径问题,在不同系统中,写法都大同小异。而这些问题无外乎源于这两方面:正反斜杠,编码(无法识别中文等)。