既存のファイルを作成しようとしたときや存在しないファイルを使用しようとしたときに発生するエラーを処理するときには、スローされるOSError
にサブクラスFileExistsError
,FileNotFoundError
)。ファイル名が長すぎると、特別なケースのサブクラスが見つかりませんでした。OSErrorを処理する方法:[Errno 36]ファイル名が長すぎます
正確なエラーメッセージは次のとおりです。ファイル名が長すぎるだけ
OSError: [Errno 36] File name too long: 'filename'
私は、ファイル名が長すぎる場合に発生するOSErrorのをキャッチしたいと思います
が、
。私はではない他のキャッチする場合がありますOSError
が発生する可能性があります。これを達成する方法はありますか? 編集:私は長さに対して、ファイル名を確認することができることを知っているが、最大ファイル名の長さがあまりにも多くのOSやファイルシステムによって異なり、私はそのように「クリーン」な解決策が表示されません。
ロングファイル作成時の[Python IOError例外]の複製が可能です(https://stackoverflow.com/questions/4677234/python-ioerror-exception-when-creating-a-long-file) – NuclearPeon
@ NuclearPeon:いいえそれは窓に特有のもので、そこの答えはこの質問に答えません。私は質問でそれを指定しました。 –
最大ファイル名のパスを取得しようとすることはできますが、確実な方法はありません。このリンクをチェックしてください:https://code.activestate.com/lists/python-list/210662/ - ファイル名の長さを確認し、長すぎる場合はユーザーに通知してください。さもなければtry/exceptはすでにリストされているようにあなたの最善の策です。 – NuclearPeon