【Python】PermissionError: [Errno 13] Permission denied:の原因
今回はPermissionErrorの原因を紹介します。
このエラーはファイルの操作権限がないことを示しているのですが、実際はフォルダ(ディレクトリ)を開こうとしているのが原因であることが多いです。
原因を理解してエラーを解消しましょう。
PermissionError: [Errno 13] Permission denied:の原因と対処法
PermissionErrorの原因は主に↓の2つです。
おそらく、原因がよく分からなければフォルダ(ディレクトリ)を開こうとしていないか疑ってみてください。
- ファイルを開く権限がない
- フォルダ(ディレクトリ)を開こうとしている
ファイルを開く権限がない
こちらはプログラムの実行者が、ファイルへのアクセス権限がないために起こるケースです。
Cドライブ直下など、アクセス制限されやすいフォルダへアクセスしているときはアクセス権限を疑ってみましょう。
特に特権ユーザーではなく、一般ユーザーであればこれが原因かもしれません。
フォルダ(ディレクトリ)を開こうとしている
path = r"D:\Python"
file = open(path) # ここでエラー発生
open関数の引数にフォルダ(ディレクトリ)を指定したときも、PermissionErrorエラーが発生します。
例えば↑のようなコードを実行すると、引数pathがフォルダ(ディレクトリ)のためエラーとなります。
pathをファイルのフルパスへ変更すればエラーは解消するので、フォルダ(ディレクトリ)を指定していないか確かめてみましょう。