![](/img/trans.png)
[英]SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape , on an image
[英]unicode error) 'unicodeescape' codec can't decode bytes in position 9-10
我下面有简单分配的python代码。
import datetime
from datetime import date
failed_script_name="Z:\Python\FAILED_CODE"+str(date.today())+".txt"
fail_script_name="Z:\Python\FAIL_CODE"+str(date.today())+".txt"
need_script_name="Z:\Python\NEED_CODE_"+str(date.today())+".txt"
我在第三次作业中遇到错误。 如果我评论第三个任务,它的工作。 我没有错第三次作业,因为它与前两次相同
File "Z:\Python\test.py", line 5
need_script_name="Z:\Python\NEED_CODE_"+str(date.today())+".txt"
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in
position 9-10: malformed \N character escape
反斜杠\\
用作Python字符串文字中的转义字符。 转义字符用于表示字符,不能直接在源代码中键入。
如果在字符串文字中遇到\\
,Python将通过查看下一个字符来确定要执行的操作。 例如, N
表示Python,应将以下用大括号括起来的字符序列读取为Unicode字符的名称,然后将在该点插入该字符,例如
>>> print("\N{RIGHTWARDS ARROW}")
→
但是,在您的情况下,您会在\\N
后面加上其他无法解释的内容。 因此出现错误信息。
对于\\
和\\
之后的P
和F
,在Python中没有给它们指定特殊含义,并且在设计上,Python将在这种情况下将\\
和后面的字符保留在字符串文字中。 因此,这些不会为您产生错误或任何问题:
>>> print("\P\F")
\P\F
一个人可以在一个字符串文字中正确地插入一个\\
,之后跟另一个\\
,这向Python表示您希望在字符串文字中使用一个反斜杠:
>>> print("\\N{RIGHTWARDS ARROW}")
\N{RIGHTWARDS ARROW}
另外,您可以通过在字符串文字前加上r
使其成为原始字符串文字来关闭\\
的特殊含义:
>>> print(r"\N{RIGHTWARDS ARROW}")
\N{RIGHTWARDS ARROW}
另请参阅Python文档,其中提供了转义序列及其解释的列表。
上面的答案假设使用Python3.x。 在Python 2.x中, \\N
在通常的字符串中不会被赋予任何特殊的含义,即"\\Nonesense"
仅在以u
前缀使其成为unicode字符串文字u"\\Nonesense"
才会产生错误。转义序列也适用于Python 2。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.