Здравствуйте. Подскажите программу которая сжимает картинки без потери качества и без изменения формата, то есть если .png сжимает и оставляет тот же формат. С возможность сжимать картинки выделеной папке, а не по одной картинке.
TinyPNG API - https://tinypng.com/developers/reference/python
Я для себя написал простой скрипт, который рекурсивно проходит по всем вложенным папкам в месте запуска и ищет jpg и png, сжимает с заменой не оптимизированных изображений. Из ограничений на 1 ключ - 500 изображений, но в личном кабинете ни кто не мешает создать 10 ключей.
Я для себя написал простой скрипт, который рекурсивно проходит по всем вложенным папкам в месте запуска и ищет jpg и png, сжимает с заменой не оптимизированных изображений. Из ограничений на 1 ключ - 500 изображений, но в личном кабинете ни кто не мешает создать 10 ключей.
Устанавливаем Python 3.6+ если нету.
Ставим пакет от tinify.
# pip install --upgrade tinify
Регистрируемся, чтобы получить ключи.
# https://tinypng.com/developers API.KEY
import tinify
import os
tinify.key = "Сюда вставляем ключ API"
path = os.getcwd()
print("Поиск файлов PNG и JPG")
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith(".png"):
imgName = os.path.join(root, file)
print("Сжимаю файл: " + imgName)
source = tinify.from_file(imgName)
source.to_file(imgName)
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith(".jpg"):
imgName = os.path.join(root, file)
print("Сжимаю файл: " + imgName)
source = tinify.from_file(imgName)
source.to_file(imgName)
print("Готово!")
compressions_this_month = tinify.compression_count
print("Количество компрессий за этот месяц: ", compressions_this_month)
i = 500 - compressions_this_month
print("Бесплатных попыток осталось на один KEY: ", i)