當處理嘗試創建現有文件時發生的錯誤或嘗試使用不存在的文件時,拋出的OSError
有一個子類( FileExistsError
,FileNotFoundError
)。當文件名太長時,我找不到特殊情況下的子類。如何處理OSError:[Errno 36]文件名太長
確切的錯誤信息是:
OSError: [Errno 36] File name too long: 'filename'
我想趕在文件名過長時出現的OSERROR,但只有當文件名過長。我做不是想抓其他可能發生的OSError
。有沒有辦法做到這一點?
編輯:我知道我可以根據長度檢查文件名,但最大文件名長度根據操作系統和文件系統而變化太大,我沒有看到這樣的「乾淨」解決方案。
[Python IOError異常,當創建一個長文件]可能重複(https://stackoverflow.com/questions/4677234/python-ioerror-exception-when-creating-a-long-file) – NuclearPeon
@NuclearPeon:否這是Windows特有的,那裏的答案不能回答這個問題。我在這個問題中指出了這一點。 –
您可以嘗試獲取最大文件名路徑,但沒有辦法做到這一點。檢查此鏈接:https://code.activestate.com/lists/python-list/210662/ - 檢查文件名的長度,並通知用戶是否太長。否則,嘗試/除了是你已經列出的最好的賭注。 – NuclearPeon