windows--OSError: [Errno 22] Invalid argument: '\u202aE:/desk/Desktop/test.txt' 读取文件的坑

准备打开文件时,报了如下错误:

windows--OSError: [Errno 22] Invalid argument: '\u202aE:/desk/Desktop/test.txt'  读取文件的坑

 

在路径中出现了这个Unicode 202a字符,导致了这个错误。

 

这玩意是哪里来的?

复制windows文件属性的时候复制下图中的路径而来的。

 windows--OSError: [Errno 22] Invalid argument: '\u202aE:/desk/Desktop/test.txt'  读取文件的坑

 

解释:

这个字符的含义是left to right,也就是从左到右的阅读顺序,在写代码的时候显示不出来,但是在命令行中可以显示出来。

感受一下,复制下面的这一句话,分别放在命令行和Pycharm中

 with open(r'‪E:/desk/Desktop/test.txt', 'r') as file:

windows--OSError: [Errno 22] Invalid argument: '\u202aE:/desk/Desktop/test.txt'  读取文件的坑

windows--OSError: [Errno 22] Invalid argument: '\u202aE:/desk/Desktop/test.txt'  读取文件的坑

 

解决方案:

把鼠标放到E后面,然后backspace向左删除一个字符,会发现显示上没有发生变化,但是控制字符已经被删除了。

 

上一篇:管理软件JIRA Servcie Desk使用教程(五):教你设置客户帮助渠道


下一篇:维护 Linux 近 30 年后计划退出?Linus:你们可能想多了...