这是出现错误的 Python 代码:
name = 'C:\Users\Legion\Dropbox\PY\examples\mywc.py'
print(name)
错误:
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
当然,我可以这样写:r'C:\Users\Legion\Dropbox\PY\examples\mywc.py'然后错误就会消失。但我认为以某种方式我可以在打印之前处理 name 中的字符串,例如:
name2 = r'{}'.format(name),但是,所有此类操作都会导致相同的错误。
原来,name 中写入的字符串已经被转换尝试不可挽回地“损坏”了?
我想知道如果仅使用“”以外的字符作为窗口中的路径或控制字符,是否可以解决问题\?为什么要发明斜杠,以便在 Windows 路径中同时使用斜杠作为控制字符?
您可以使用路径库
从你的问题来看:
不。它没有损坏,它不存在,因为它只是编写字符串文字的错误形式。
错误在这里:
\U这是 8 个十六进制数字的转义增量的开始,用于引入 Unicode 形式的字符,例如\U0000042f字母Я。这意味着在 symbol 之后
\U需要 8 个十六进制数字,但您的情况并非如此 - (在部分中)s之后的符号不是这样的数字。\U\Users如何修复它?
有多个选项 - 选择其中任意一个:
使用普通反斜杠(
\)代替反斜杠( ) - 是的,即使在 Windows 上也是可能的:/始终使用一对反斜杠 (
\),而不是单个反斜杠(\\) - 这是单个斜杠的转义淡入淡出:在该行之前,包含一个
rorR字符(来自英语单词row, raw ),以便所有字符都按字面解释,而不是转义序列: