← Все вопросы

PermissionError: [Errno 13] при открытии файла — почему и как обойти?

Задан 7 месяцев назад453 просмотров2 ответа
9

При open(path, "w") получаю PermissionError: [Errno 13] Permission denied. Файл существует, путь правильный. Что не так с правами?

2 ответа

16
✓ Принятый ответ — помог автору

PermissionError (Errno 13) значит, что ОС не дала доступ к файлу/папке. Частые причины:

  1. Путь — это папка, а не файл. open("C:/data", "w"), где data — каталог, даёт именно Permission denied. Проверьте, что путь ведёт к файлу.
  2. Файл открыт в другой программе (Excel держит .xlsx, блокнот — .txt) и заблокирован на запись. Закройте его.
  3. Реально нет прав на запись в эту папку (например, системный каталог, Program Files). Пишите в свою папку или запускайте с нужными правами.
  4. Файл помечен «только для чтения» в свойствах.

Диагностика: попробуйте открыть на чтение ("r") — если читается, а пишется нет, дело именно в правах/блокировке на запись.

Стахей Стреха Чаще всего у новичков — это открытый в Excel файл, который пытаются перезаписать из скрипта. · 7 месяцев назад
7

Закрой файл в Excel/блокноте — он его держит. Или ты случайно указал путь к папке вместо файла.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект