Eri*_*ric 223 python unicode python-3.x
我在Windows 7机器上使用python 3.1.俄语是默认的系统语言,utf-8是默认编码.
看看上一个问题的答案,我尝试使用"编解码器"模块给我一点运气.以下是一些例子:
>>> g = codecs.open("C:\Users\Eric\Desktop\beeline.txt", "r", encoding="utf-8")
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated \UXXXXXXXX escape (<pyshell#39>, line 1)
>>> g = codecs.open("C:\Users\Eric\Desktop\Site.txt", "r", encoding="utf-8")
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated \UXXXXXXXX escape (<pyshell#40>, line 1)
>>> g = codecs.open("C:\Python31\Notes.txt", "r", encoding="utf-8")
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 11-12: malformed \N character escape (<pyshell#41>, line 1)
>>> g = codecs.open("C:\Users\Eric\Desktop\Site.txt", "r", encoding="utf-8")
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated \UXXXXXXXX escape (<pyshell#44>, line 1)
Run Code Online (Sandbox Code Playgroud)
我最后的想法是,我想这可能已经是Windows的"翻译"几个文件夹,如"用户"文件夹,进入俄罗斯的事实(虽然输入"用户"仍然是正确的路径),所以我试图在Python31文件夹.不过,没有运气.有任何想法吗?
Mar*_*wis 480
问题在于字符串
"C:\Users\Eric\Desktop\beeline.txt"
Run Code Online (Sandbox Code Playgroud)
在这里,\U启动一个八字符的Unicode转义,例如'\ U00014321`.在你的代码中,转义后面跟着字符's',这是无效的.
您需要复制所有反斜杠,或者在字符串前加上"C:\Users(以生成原始字符串).
Jul*_*sar 23
Windows上的典型错误,因为默认用户目录是C:\user\<your_user>,因此当您想将此路径用作Python函数的字符串参数时,您会收到Unicode错误,因为它\u是一个Unicode转义符.此后任何非数字字符都会产生错误.
要解决它,只需加倍反斜杠: C:\\user\\<\your_user>...
Fid*_*Bux 20
使用'r'进行前缀非常有效,但需要使用正确的语法.例如:
passwordFile = open(r'''C:\Users\Bob\SecretPasswordFile.txt''')
Run Code Online (Sandbox Code Playgroud)
好!
路径 = pd.read_csv(**'C:\Users\mravi\Desktop\filename'**)
该错误是由于提到的路径造成的
'r'在路径前添加
路径 = pd.read_csv(**r'C:\Users\mravi\Desktop\filename'**)
这会工作得很好。
小智 7
或者您可以将路径中的 '\' 替换为 '/'。
使用Python 3,我遇到了这个问题:
self.path = 'T:\PythonScripts\Projects\Utilities'
Run Code Online (Sandbox Code Playgroud)
产生此错误:
self.path = 'T:\PythonScripts\Projects\Utilities'
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in
position 25-26: truncated \UXXXXXXXX escape
Run Code Online (Sandbox Code Playgroud)
起作用的解决方法是:
self.path = r'T:\PythonScripts\Projects\Utilities'
Run Code Online (Sandbox Code Playgroud)
似乎'\ U'产生了错误,并且字符串前面的'r'关闭了失败的8个字符的Unicode转义符(对于原始字符串)。(这有点过分简化,但是如果您不关心unicode,它就可以工作)
希望这可以帮助某人
| 归档时间: |
|
| 查看次数: |
475952 次 |
| 最近记录: |