1. 程式人生 > 實用技巧 >Python檔案報錯OSError:[Errno 22\] Invalid argument處理

Python檔案報錯OSError:[Errno 22\] Invalid argument處理

問題1:

  OSError: [Errno 22] Invalid argument: './img/https://st-cn.meishij.net/r/121/15/3441371/a3441371_159946333946794.jpg'
 
解決:
  本來猜測是轉義符的問題,但是使用python原字串仍然不能解決問題。
  後來發現其實是windows下檔案的命名存在限制:
    在Windows系統中,檔名不允許使用的字元有: < > / \ | : " * ?
 
  在Windows系統中,檔名命名規則如下:
    1)檔名最長可以使用255個字元;
    2)可以使用副檔名,副檔名用來表示檔案型別,也可以使用多間隔符的副檔名(如win.ini.txt是一個合法的檔名,但其檔案型別由最後一個副檔名決定);
    3)檔名中允許使用空格,但不允許使用下列字元(英文輸入法狀態):< > / \ | : " * ?;
    4)windows系統對檔名中字母的大小寫在顯示時有不同,但在使用時不區分大小寫。

問題2:

	 f = open('F:\Python 3.6\test.txt','r')
    
解決:
	1.將 \  換為 / ,或者 \\,這是因為Python中\t為換行符,而無法識別。
    2.路徑最好手動輸入,不要直接複製貼上更改。