天天看點

python中invalid argument_Python建立檔案報錯OSError:[Errno 22] Invalid argument處理

問題:

windows平台下使用python open函數w模式打開檔案報錯“OSError: [Errno 22] Invalid argument: '../news/“消費升維”成零售業新風口?管道多元同步跟進.txt'”

解決:

本來猜測是轉義符的問題,但是使用python原字元串仍然不能解決問題。

後來發現其實是windows下檔案的命名存在限制:

在Windows系統中,檔案名不允許使用的字元有: < > / \ | : " * ?

在Windows系統中,檔案名命名規則如下:

1)檔案名最長可以使用255個字元;

2)可以使用擴充名,擴充名用來表示檔案類型,也可以使用多間隔符的擴充名(如win.ini.txt是一個合法的檔案名,但其檔案類型由最後一個擴充名決定);

3)檔案名中允許使用空格,但不允許使用下列字元(英文輸入法狀态):< > / \ | : " * ?;

4)windows系統對檔案名中字母的大小寫在顯示時有不同,但在使用時不區分大小寫。