当处理尝试创建现有文件时发生的错误或尝试使用不存在的文件时,抛出的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