Как исправить ошибку Python – [Errno 2] No such file or directory – инструкция
Python считается одним из самых простых в освоении языков программирования. Действительно, освоить его довольно просто, так как многие названия функций и переменных совпадают по значению с аналогичными словами английского языка. При этом многие новички, не имеющие фундаментальной базы знаний по иерархической системе хранения информации, часто сталкиваются в Python с ошибкой [Errno 2] No such file or directory, что вызывает у них вопрос, как ее исправить.
Что это за ошибка
Дословно ошибка переводится как «Нет такого файла или каталога». Это значит, что путь, указанный в коде программы неверен.
При написании программы ее создатель часто опирается на уже созданные файлы, файловые системы или библиотеки. Все они где-то физически хранятся, будь то память компьютера, облако или память контроллера. Этот путь программе указывается с помощью нескольких функций, например с помощью open(). Например:
with open("example.txt", "r") as f:
content = f.read()
Указанный выше код «говорит» программе, что нужно открыть текстовый файл и считать его содержимое в переменную content. Путь при этом должен быть прописан в начале «простыни», или же находиться в папке, путь к которой в языковой среде Python прописан по умолчанию на этом компьютере (обычно в папке с самим скриптом).
Допустим, что пользователь пытается вручную установить драйвер на устройство периферии через «Диспетчер задач» ОС. Через графический интерфейс проводника нужно вручную указать путь к установленной папке с драйвером устройства. Если этого не сделать, то система выдаст сообщение о том, что драйвер не найден. Это и есть эквивалент ошибки в «Пайтоне» – программа не может по указанному пути в иерархической базе данных найти требуемые данные для запуска алгоритма установки.
Как исправить
Решение просто – нужно поместить требуемый файл или каталог в папку скрипта. Также можно указать путь на компьютере в коде программы. Например:
# ?️ absolute path (для Windows)
'C:\Users\Alice\Desktop\my-file.txt'
# ?️ absolute path (для macOS or Linux)
'/home/alice/Desktop/my-file.txt'
Исправить ошибку можно также внесением изменений в алгоритм программы. Например, можно дать компьютеру выбор, либо обращаться к файлу, либо вывести изображение с текстом «Файл не найден»:
if os.path.exists("example.txt"):
with open("example.txt", "r") as f:
content = f.read()
else:
print("Файл не найден")
Фактически это не решит проблему. Если программу не будет обращаться нужному файлу, то она не будет решать изначально заложенные в нее задачи. Однако технически при исполнении кода ошибки возникать не будет, не будет возникать и сообщения о том, что каталог найден.




