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向左删除一个字符,会发现显示上没有发生变化,但是控制字符已经被删除了。

 

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

上一篇:Delphi ADO组件


下一篇:leetcode:6. Z 字形变换