← エラー辞典に戻る

環境構築

PermissionError: [Errno 13] Permission denied (Python)

ファイルへのアクセス権限がない

こんな症状

Pythonのopen()などで「PermissionError: [Errno 13] Permission denied」が出る。ファイルの権限不足のほか、ファイルを別のアプリで開いたままにしているときにも起きるよ。

まず試す

対象ファイルをExcelなど他のアプリで開いていたら閉じる。書き込み先を自分のフォルダ(デスクトップ等)にする。

env
# Excelなどでファイルを閉じてから実行する
with open('data.csv', 'w', encoding='utf-8') as f:
    f.write('name,score')

これで直らなければ、下の「自分のケース」を確認。

🔍 自分のケースはどれ?

  • ExcelでCSVを開いたまま書き込んだ(情報Ⅰで多い)
    → Excelでそのファイルを閉じてから実行する。
  • Program Files など権限が要る場所に書いた
    → 書き込み先をデスクトップやドキュメントなど自分のフォルダに変える。
  • open() のパスがフォルダだった
    → ファイル名まで含めたパスを指定する。

なぜ起きる?

ファイルやフォルダへのアクセス権限がないよ。よくあるのは、(1) WindowsでCSVをExcelで開いたままPythonから書き込もうとした、(2) C:\Program Files など管理者権限が必要な場所に書き込もうとした、(3) open()に指定したパスがファイルではなくフォルダだった、の3パターンだよ。情報Ⅰのデータ分析でCSVを扱うときに(1)で遭遇する人が多いんだ。

✕ エラーが起きるコード
f = open('data.csv', 'w')
# Excelでdata.csvを開いたまま実行すると…
# PermissionError: [Errno 13] Permission denied: 'data.csv'
✓ 直したコード
# Excelを閉じてから実行する
with open('data.csv', 'w', encoding='utf-8') as f:
    f.write('name,score\
')

✅ 直ったか確認

再実行してエラーが出ず、目的のファイルが作成・更新されていればOK。

🆘 まだ直らないときは

Mac/Linux なら ls -la で権限を確認し、必要なら chmod で変更しよう。

Q&Aで質問する →

この解決法は役立ちましたか?

🔗 関連するエラー

📖 この問題を学べるレッスン

環境構築ガイド(基礎から)で根本から理解する →

📝 関連ブログ記事

📖 関連する用語

🚀 環境構築ガイドで基礎を学ぼう!

エラーの原因を根本から理解するには、基礎を体系的に学ぶのが近道です。完全無料・登録不要。

環境構築ガイドを始める →

❓ 関連するQ&A