← Все вопросы
PermissionError: [Errno 13] при открытии файла — почему и как обойти?
9
При open(path, "w") получаю PermissionError: [Errno 13] Permission denied. Файл существует, путь правильный. Что не так с правами?
2 ответа
16
✓ Принятый ответ — помог автору
PermissionError (Errno 13) значит, что ОС не дала доступ к файлу/папке. Частые причины:
- Путь — это папка, а не файл.
open("C:/data", "w"), гдеdata— каталог, даёт именно Permission denied. Проверьте, что путь ведёт к файлу. - Файл открыт в другой программе (Excel держит .xlsx, блокнот — .txt) и заблокирован на запись. Закройте его.
- Реально нет прав на запись в эту папку (например, системный каталог, Program Files). Пишите в свою папку или запускайте с нужными правами.
- Файл помечен «только для чтения» в свойствах.
Диагностика: попробуйте открыть на чтение ("r") — если читается, а пишется нет, дело именно в правах/блокировке на запись.
Стахей Стреха Чаще всего у новичков — это открытый в Excel файл, который пытаются перезаписать из скрипта. · 7 месяцев назад
7
Закрой файл в Excel/блокноте — он его держит. Или ты случайно указал путь к папке вместо файла.
Ваш ответ
Войдите, чтобы ответить на вопрос.