エラー辞典

IsADirectoryError

ファイルではなくフォルダ(ディレクトリ)を、open()でファイルとして開こうとしたときに発生するエラーです。

原因

指定したパスがファイルではなくフォルダだったことが原因です。パスの指定ミスでよく起こります。

エラーになるコード例

file = open('my_folder', 'r')
IsADirectoryError: [Errno 21] Is a directory: 'my_folder'

修正版

import os
path = 'my_folder'
if os.path.isfile(path):
    file = open(path, 'r')
else:
    print('これはフォルダです')

よくある間違い

  • フォルダ名とファイル名を混同してパスを指定してしまう
  • os.path.isfile()などで事前にチェックせずにopen()してしまう

← エラー辞典に戻る