Fork me on GitHub

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

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

 

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

 

这玩意是哪里来的?

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

 

 

解释:

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

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

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

 

解决方案:

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

 

posted @ 2019-08-20 20:53  暮良文王  阅读(3712)  评论(0编辑  收藏  举报