Найти - Пользователи
Полная версия: Сохранение добавленных изображений в новую папку
Начало » Python для новичков » Сохранение добавленных изображений в новую папку
1
Igorsrt
Здравствуйте! Вновь обращаюсь за помощью.
Есть скрипт (во вложении), который по списку скачивает изображения с сайта поставщика, делает из каждого изображения по 3 миниатюры разных размеров и сохраняет их на компьютере в папке images. Т.е. на выходе получаем: папка images, в ней для каждого изображения своя папка с названием как у поставщика (там тоже каждое изображение в отдельной папке) и в каждой папке изображения по 3 миниатюры (70.jpg, 196.jpg, 411.jpg). Причем, насколько я понял (возможно и не правильно), если такие изображения в папке images уже есть, то они пропускаются:
 for size in [70, 196, 411]:
        fname = "%s.jpg" % (size)
        dest_file = os.path.join(dest, fname)
        if(os.path.isfile(dest_file)):
            pass
        else:
            img = Image.open(temp_file)
            img.thumbnail((size, size), Image.ANTIALIAS)
            img.save(dest_file, "JPEG", quality=97)
Запустить этот скрипт на хостинге у меня пока не получается, поэтому запускаю локальном компьютере.
Так вот, хочу что бы миниатюры новых изображений (тех которых еще не было в папке images до запуска скрипта) сохранялись также еще и в отдельной папке (например images_new) с той же структурой (папка изображения и в ней 3 миниатюры) , что бы можно было сразу увидеть, какие именно изображения добавились и скопировать только их на сайт.
Помогите пожалуйста.
Igorsrt
забыл файлик вложить )
ZerG
сделать за вас будет неправильно - попробуем навести вас на мысль!
и так у вас есть
 dest_dir = os.path.abspath(cur_dir + '/../images')
создадим еще одну
 dest_dir = os.path.abspath(cur_dir + '/../images_new'

далее проверка

 dest = os.path.join(dest_dir, pic_id)
    if os.path.exists(dest):
        # if folder empty, delete it
        files = os.listdir(dest)
        if len(files) != 0:
            continue
        else:
            os.rmdir(dest)
    os.makedirs(dest)

думаю сделать тоже самое для нового пути будет не лишним


 for size in [70, 196, 411]:
        fname = "%s.jpg" % (size)
        dest_file = os.path.join(dest, fname)
        if(os.path.isfile(dest_file)):
            pass # вот проверка мол если файл существует - пропускать! Допишите сюда то же самое что и на добавление только с учетом новой папки
        else:
            img = Image.open(temp_file)
            img.thumbnail((size, size), Image.ANTIALIAS)
            img.save(dest_file, "JPEG", quality=97)
Igorsrt
ZerG
сделать за вас будет неправильно - попробуем навести вас на мысль!и так у вас есть
Спасибо конечно, но я не особо понял, потому что в этом пока что “дуб” ((
1. Я понимаю что нужно создать путь еще для одной папки (images_new).. но как назвать - тоже dest_dir или dest_dir2 ? )
2. “далее проверка”… этот блок я, если честно, не особо понимаю пока (( но мне кажется в моем случае, он не особо принципиален - проверяет и пусть проверяет как раньше проверял )) (нам ведь нужно просто результат в отдельную папочку записать)… новая папка (images_new) по умолчанию изначально всегда пустая
3.
 img.save(dest_file, "JPEG", quality=97)
- вот тут и вопрос: что нужно дописать, что бы он новые изображения еще и отдельно в папку images_new записывал с сохранением структуры?
Извините, если туплю
ZerG
Не спрашивайте - пробуйте!
Експерементируйте!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB