Python

Обработка ошибки 13: в Python отказано в доступе

Ошибка 13: Отказано в доступе в Python — это ошибка ввода-вывода, которая возникает, когда система не может связаться с вашим кодом для выполнения желаемой операции. Причины включают попытку доступа к несуществующему файлу, уже открытому файлу, открытие каталога в виде файла или наличие неправильных разрешений. Есть несколько способов исправить эту ошибку, например, закрыть другие экземпляры файла, обновить разрешения, убедиться, что вы не обращаетесь к каталогу, и использовать блоки try-except для обработки ошибок.

Ошибка очень проста, как показано ниже:

IOError: [Errno 13] Permission denied

Ошибка ввода-вывода — это тип ошибки времени выполнения. Ошибки во время выполнения вызваны неправильными форматами ввода или когда код не может произвести вывод.

Поскольку в коде нет синтаксических ошибок, интерпретатор Python интерпретирует код, компилирует его, но при выполнении не может разобрать отдельные операторы или выполнить их.

Распространенные причины ошибок ввода/вывода (отказ в доступе)

Ввод, вывод ошибки вызываются несколькими причинами. Некоторые из них:

  • Наиболее распространенной причиной ошибки ввода-вывода является отсутствие указанного файла.
  • При попытке read() или open() файл, система не может взаимодействовать с кодом, если файл уже открыт в другом месте.
  • Если вы пытаетесь открыть каталог вместо файла, но пытаетесь открыть его как файл, это вызовет ошибку ввода/вывода.
  • Если в пути к каталогу есть косая черта, это также может вызвать ошибку ввода-вывода.
  • Если у вас нет разрешения на открытие этого конкретного файла или если Python не имеет доступа к определенному каталогу.

Существует очень подробная статья об ошибках ввода-вывода Python на сайте ask python, вы можете ознакомиться с ней здесь!

Устранение ошибки 13: в Python отказано в доступе

Эта ошибка может быть исправлена ​​несколькими способами. Они есть:

  • Убедитесь, что вы правильно пишете файл и не используете путь к каталогу.
  • Убедитесь, что разрешения обновлены, прежде чем пытаться получить доступ к файлу.
  • Путь к файлу должен быть указан без ошибок, таких как косая черта.
  • Файл, который мы пытаемся открыть, не должен открываться в другом месте.
  • Использование блока try и exc, чтобы узнать, где возникает ошибка.

Мы рассмотрим все эти методы подробно один за другим.

Исправление 1: закрыть другие экземпляры файла

Когда определенный файл открывается в Microsoft Excel или Microsoft Word, эта ошибка часто появляется. Это происходит потому, что эти приложения не позволяют другим приложениям изменять файл при использовании через них.

Следовательно, убедитесь, что файлы закрыты, прежде чем пытаться получить к ним доступ через код Python, и убедитесь, что на компьютере с Windows никакие офисные приложения Microsoft не используют ваш файл, когда вы пытаетесь открыть () или прочитать () его.

Исправление 2: обновить разрешения и запустить от имени администратора

При попытке запустить скрипт Python убедитесь, что вы запускаете его через командную строку в режиме администратора.

Это не повлияет на ваши существующие разрешения для других приложений, оно переопределит только разрешение Python для этого конкретного скрипта и никакое другое. Убедитесь, что вы установили Python с необходимыми разрешениями PATH.

Когда вы открываете командную строку, выберите «Запуск от имени администратора» на правой панели, как показано ниже на рисунке с красной стрелкой.

Использование командной строки в режиме администратора
Использование командной строки в режиме администратора.

Исправление 3: убедитесь, что вы не обращаетесь к каталогу

В этом случае вы пытаетесь открыть каталог, а не конкретный файл. Эту проблему можно решить, указав абсолютный путь к файлу.

Например, если имя вашего файла «First_program.txt», вы также можете использовать приведенную ниже команду с open().

open ('D:/SHREYA/documents/First_program.txt','w')

Это помогает избежать ошибок при указании имен файлов или путей и даже каталогов.

Исправление 4: используйте блоки Try и Except для обработки ошибок

В этом случае также можно использовать операторы try и exclude. Блоки try и exclude используются для обработки исключений в Python. Код для следующего будет:

try:
   open('Our_file.txt','r')
except IOError:
   print("The file cannot be opened")

У нас есть подробная статья об обработке исключений Python. Нажмите здесь, чтобы прочитать!

Краткое содержание

Ошибку 13: Отказано в доступе в Python можно устранить с помощью различных методов и понимания ее причин. Применяя эти решения, вы можете избежать сбоев в программировании и обеспечить плавный прогресс. Сталкивались ли вы с какими-либо другими творческими решениями или превентивными мерами для устранения ошибок разрешений?


Ссылка на источник

Похожие статьи

Кнопка «Наверх»