Python批量图片处理:灰度转换、邮件通知及自动关机
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'])
使用方法:
- 将
your_folder_path替换为你要处理的文件夹的路径。 - 替换邮件相关的信息,如
sender_email、receiver_email和password等。 - 运行代码。
注意:
- 代码会将处理后的图片以附件形式发送到指定的邮箱,并在发送后关机。
- 请确保在使用关机功能前保存好你的工作和文件。
- 你可以根据需要修改代码,例如添加更多图片处理功能,或修改邮件内容。
- 为避免发送大量邮件,可以注释掉添加图片附件的部分。
原文地址: https://www.cveoy.top/t/topic/iVh 著作权归作者所有。请勿转载和采集!