1. 程式人生 > >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檔案屬性的時候複製下圖中的路徑而來的。

 

 

解釋:

這個字元的含義是left to right,也就是從左到右的閱讀順序,在寫程式碼的時候顯示不出來,但是在命令列中可以顯示出來。

感受一下,複製下面的這一句話,分別放在命令列和Pycharm中

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

 

解決方案:

把滑鼠放到E後面,然後backspace向左刪除一個字元,會發現顯示上沒有發生變化,但是控制字元已經被刪除了。

&n