FileNotFoundError в Python: нет такого файла или каталога — как исправить

FileNotFoundError: Нет такого файла или каталога — такая ошибка возникает в Python, когда вы пытаетесь получить доступ к несуществующему файлу или папке.

Как это исправить

Чтобы исправить ошибку «нет такого файла или каталога» в Python, убедитесь, что вы ссылаетесь на правильный файл или папку в своей программе.

В этом примере кода, если файл «app.txt» не найден, будет выдано исключение FileNotFoundError и напечатана ошибка «Файл не найден».

Альтернативные подходы

Используйте метод os.listdir(), чтобы проверить все файлы в каталоге. os.listdir() — это встроенный метод Python, который выводит список файлов в текущем рабочем каталоге.

В Python существует два типа путей:

  1. Абсолютный путь.
  2. Относительный путь.

Абсолютный путь в Python

Абсолютный путь всегда содержит корневой элемент и полный список каталогов, необходимый для поиска файла. Таким образом, если вы передадите абсолютный путь, вы не получите сообщение об ошибке «Нет такого файла или каталога», поскольку вы предоставите идеальный путь к этому файлу.

Абсолютный путь в Windows

Всегда используйте абсолютный путь для открытия файла.

Если вы находитесь не в том каталоге, в котором хотите открыть файл, измените текущий рабочий каталог перед открытием файла.

Случайное использование escape-последовательностей в пути к файлу

Это другая распространенная ошибка, которая может вызвать ошибку «файл не найден»:

Чтобы избежать этой ошибки, не забудьте использовать необработанный строковый литерал для путей к файлам:

Абсолютный путь в Linux

Относительный путь в Python

Относительный путь должен быть объединен с другим путем для доступа к файлу. Относительный путь напрямую связан с текущей работой(cwd). Он начинается с вашего текущего каталога и никогда не начинается с /, потому что это не корневой каталог.

Относительный путь в Windows

Относительный путь в Linux

Убедитесь, что вы находитесь в том каталоге, в котором, по вашему мнению, находитесь с os.getcwd(). Если вы запускаете свой код из IDE, вы можете находиться в другом каталоге.

Оцените статью

Автор статей и разработчик, делюсь знаниями.

Программирование на Python