FileNotFoundError: [Errno 2] No such file or directory при попытке открыть файл, находящийся в другом каталоге, как исправить?

Добрый день, изучаю питон по книжке фактически с нуля. Пытаюсь написать небольшую программу для поиска директорий с фотографиями по диску, но, увы, не получается протестировать программу, если в "in os.walk()" находится отличная папка от той, в которой лежит файл питона. Попытался разобраться в вопросе, узнал про глобальные и относительные пути, но не могу все же никак вникнуть, как интегрировать глобальный путь в код ниже? Буду признателен за любого рода подсказку! (ошибка в строке "im = Image.open(filename)")
from PIL import Image
import os


rez = 500
for foldername, subfolders, filenames in os.walk('D:\\'):
    numPhotoFiles = 0
    numnonPhotoFiles = 0
    for filename in filenames:
        if not (filename.endswith('.png') or filename.endswith('.jpg')):
            numnonPhotoFiles += 1
            #print(numnonPhotoFiles)
            continue
        if (filename.endswith('.png') or filename.endswith('.jpg')):
            #print(foldername, subfolders, filenames)
            
            im = Image.open(filename)
            #print(os.path.abspath(filename))
            width, height = im.size
            if width > rez and height > rez:
                numPhotoFiles += 1
                #print(' ', numPhotoFiles)
            else:
                numnonPhotoFiles += 1
            continue
    if numPhotoFiles > numnonPhotoFiles:
        print(foldername, subfolders)
        #os.path.abspath
  • Вопрос задан
  • 40 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Распечатайте принтом filename, увидите, что это просто название файла, без полного пути до него. А раз пути нет - питон пытается найти его в папке со скриптом.

Вам нужно склеить путь с именем файла.

im = Image.open(os.path.join(foldername, filename))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы