我正在Windows 7机器上使用Python 3.1.俄语是默认系统语言,utf-8是默认编码.

看看previous question的答案,我try 使用"编解码器"模块来给我一点运气.以下是几个例子:

>>> 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)

我的最后一个 idea 是,我认为可能是Windows将一些文件夹(例如"用户"文件夹)"翻译"为俄语(尽管键入"用户"仍然是正确的路径),所以我在Python31文件夹中try 了它.不过,运气不好.有什么 idea 吗?

推荐答案

问题在于字符串

"C:\Users\Eric\Desktop\beeline.txt"

这里,"C:\Users中的\U...启动八个字符的Unicode转义,例如\U00014321.在代码中,转义符后面跟着字符"s",这是无效的.

您需要复制所有反斜杠:

"C:\\Users\\Eric\\Desktop\\beeline.txt"

或在字符串前面加r(以生成原始字符串):

r"C:\Users\Eric\Desktop\beeline.txt"

Python相关问答推荐

如何根据参数推断对象的返回类型?

如何从具有不同len的列表字典中创建摘要表?

如何在polars(pythonapi)中解构嵌套 struct ?

如何过滤包含2个指定子字符串的收件箱列名?

Pandas—在数据透视表中占总数的百分比

在ubuntu上安装dlib时出错

提取相关行的最快方法—pandas

实现神经网络代码时的TypeError

让函数调用方程

什么是合并两个embrame的最佳方法,其中一个有日期范围,另一个有日期没有任何共享列?

我的字符串搜索算法的平均时间复杂度和最坏时间复杂度是多少?

导入错误:无法导入名称';操作';

并行编程:同步进程

ModuleNotFoundError:Python中没有名为google的模块''

正在try 让Python读取特定的CSV文件

在使用ROLING()获得最大值时,是否可以排除每个窗口中的前n个值?

将鼠标悬停在海运`pairplot`的批注/高亮显示上

正则表达式反向查找

Django REST框架+Django Channel->;[Errno 111]连接调用失败(';127.0.0.1';,6379)

如何从具有完整层次数据的Pandas框架生成图形?