Python批量图片处理:灰度转换、邮件通知及自动关机

想要自动化处理图片,并在完成后收到通知?这篇文章提供了一个Python脚本,可以批量将图片转换为灰度,并在完成后发送邮件通知,最后自动关机。

import os
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from PIL import Image
import subprocess

# 设置文件夹路径
folder_path = 'your_folder_path'

# 获取文件夹中的所有文件
file_list = os.listdir(folder_path)

# 遍历文件夹中的每个文件
for file_name in file_list:
    # 判断文件是否为图片
    if file_name.endswith('.jpg') or file_name.endswith('.png'):
        # 图片路径
        image_path = os.path.join(folder_path, file_name)
        
        # 打开图片
        image = Image.open(image_path)
        
        # 转为灰度图
        gray_image = image.convert('L')

        # 保存处理后的图片
        output_path = os.path.join(folder_path, 'processed_' + file_name)
        gray_image.save(output_path)

# 发送邮件
def send_email():
    # 邮件信息
    sender_email = 'your_sender_email@example.com'
    receiver_email = 'your_receiver_email@example.com'
    password = 'your_email_password'

    message = MIMEMultipart()
    message['From'] = sender_email
    message['To'] = receiver_email
    message['Subject'] = '图片处理完成'

    body = '已完成'
    message.attach(MIMEText(body, 'plain'))

    # 添加图片附件 (可选)
    # attachment = open(output_path, 'rb')
    # image_part = MIMEImage(attachment.read())
    # attachment.close()
    # message.attach(image_part)

    # 发送邮件
    with smtplib.SMTP('smtp.gmail.com', 587) as server:
        server.starttls()
        server.login(sender_email, password)
        server.send_message(message)

# 发送邮件
send_email()

# 关机
subprocess.call(['shutdown', '/s', '/t', '0'])

使用方法:

  1. 将 your_folder_path 替换为你要处理的文件夹的路径。
  2. 替换邮件相关的信息,如 sender_email、receiver_email 和 password 等。
  3. 运行代码。

注意:

  • 代码会将处理后的图片以附件形式发送到指定的邮箱,并在发送后关机。
  • 请确保在使用关机功能前保存好你的工作和文件。
  • 你可以根据需要修改代码,例如添加更多图片处理功能,或修改邮件内容。
  • 为避免发送大量邮件,可以注释掉添加图片附件的部分。
Python批量图片处理:灰度转换、邮件通知及自动关机

原文地址: https://www.cveoy.top/t/topic/iVh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录