このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【Python】PermissionError: [Errno 13] Permission denied:の原因

2024年4月23日

今回はPermissionErrorの原因を紹介します。

このエラーはファイルの操作権限がないことを示しているのですが、実際はフォルダ(ディレクトリ)を開こうとしているのが原因であることが多いです。

原因を理解してエラーを解消しましょう。

PermissionError: [Errno 13] Permission denied:の原因と対処法

PermissionErrorの原因は主に↓の2つです。

おそらく、原因がよく分からなければフォルダ(ディレクトリ)を開こうとしていないか疑ってみてください。

  1. ファイルを開く権限がない
  2. フォルダ(ディレクトリ)を開こうとしている

ファイルを開く権限がない

こちらはプログラムの実行者が、ファイルへのアクセス権限がないために起こるケースです。

Cドライブ直下など、アクセス制限されやすいフォルダへアクセスしているときはアクセス権限を疑ってみましょう。

特に特権ユーザーではなく、一般ユーザーであればこれが原因かもしれません。

フォルダ(ディレクトリ)を開こうとしている

path = r"D:\Python"
file = open(path) # ここでエラー発生

open関数の引数にフォルダ(ディレクトリ)を指定したときも、PermissionErrorエラーが発生します。

例えば↑のようなコードを実行すると、引数pathがフォルダ(ディレクトリ)のためエラーとなります。

pathをファイルのフルパスへ変更すればエラーは解消するので、フォルダ(ディレクトリ)を指定していないか確かめてみましょう。

Python

Posted by やろまい