Python exe 程序放到文件夹,运行程序,手动输入照片内存大小参数,把文件夹,子文件 把照片png格式全部转化jpg格式,运行程序,把图片自动压缩480kb后替换原始图片,小于480kb照片自动跳过
时间: 2024-03-23 12:40:52 浏览: 176
好的,我理解了你的问题。你需要一个 Python 的程序,能够将一个文件夹下的所有 PNG 格式的照片转化为 JPG 格式,并且能够自动压缩大小以满足指定的大小限制。
首先,你需要安装 Pillow 库,它是一个 Python 图像处理库,提供了丰富的图像处理功能。你可以使用以下命令安装:
```
pip install Pillow
```
然后,在 Python 文件中,你可以使用以下代码实现上述功能:
```python
import os
from PIL import Image
def convert_images(folder_path, max_size):
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith(".png"):
# 转换为 JPG 格式
file_path = os.path.join(root, file)
img = Image.open(file_path)
new_file_path = os.path.splitext(file_path)[0] + ".jpg"
img.convert("RGB").save(new_file_path)
# 压缩图片
size = os.path.getsize(new_file_path)
if size > max_size:
while size > max_size:
quality = img.info.get('quality', 100) - 10
img.save(new_file_path, optimize=True, quality=quality)
size = os.path.getsize(new_file_path)
else:
continue
if __name__ == "__main__":
folder_path = input("请输入文件夹路径:")
max_size = int(input("请输入图片大小限制(单位:KB):")) * 1024
convert_images(folder_path, max_size)
```
这段代码会先遍历文件夹下的所有文件,如果是 PNG 格式的照片,则将其转换为 JPG 格式,并保存在同一目录下。然后,如果图片大小超过了指定的大小限制,则会不断降低图片质量,直到大小满足限制为止。
注意,这里的图片质量会不断降低,因此请谨慎使用,以免影响图片清晰度。
阅读全文