1. 自动化文件整理:
这个脚本可以自动整理指定文件夹中的文件,按照文件扩展名进行分类。例如,它可以将图片、文档、视频等不同类型的文件分别移动到不同的文件夹中,保持你的文件 organized。它使用了os库来操作文件和文件夹,shutil库来移动文件。
import os # 用于操作文件和文件夹
import shutil # 用于移动文件
def organize_files(source_folder, dest_folder):
"""整理文件的函数"""
for filename in os.listdir(source_folder): # 遍历源文件夹中的所有文件和文件夹
source_path = os.path.join(source_folder, filename) # 获取文件的完整路径
if os.path.isfile(source_path): # 判断是否是文件,而不是文件夹
ext = os.path.splitext(filename)[1].lower() # 获取文件扩展名,并转换为小写
dest_path = os.path.join(dest_folder, ext[1:]) # 在目标文件夹中创建以扩展名命名的子文件夹 (例如:.jpg文件会被移动到 "jpg" 文件夹中)
os.makedirs(dest_path, exist_ok=True) # 创建目标文件夹,如果已存在则不报错
shutil.move(source_path, dest_path) # 将文件移动到目标文件夹
# 替换为你想要整理的文件夹路径
source_folder = "/path/to/your/source/folder" # 源文件夹路径
dest_folder = "/path/to/your/destination/folder" # 目标文件夹路径
organize_files(source_folder, dest_folder)
2. 定时发送邮件:
这个脚本可以定时自动发送邮件。例如,你可以用它来定时发送生日祝福、提醒事项,或者发送定期报告等。 它使用了smtplib库来发送邮件,schedule库来定时执行任务。
import smtplib # 用于发送邮件
from email.mime.text import MIMEText # 构建邮件内容
import schedule # 定时任务库
import time # 时间库
def send_email():
"""发送邮件的函数"""
msg_from = '你的邮箱地址' # 替换为你的邮箱地址
passwd = '你的邮箱密码' # 替换为你的邮箱密码 (注意:为了安全,建议不要直接将密码写在代码中,可以使用环境变量等方式)
msg_to = '接收方邮箱地址' # 替换为接收方邮箱地址
subject = "定时邮件测试" # 邮件主题
content = "这是一封定时发送的邮件。" # 邮件内容
msg = MIMEText(content) # 创建邮件对象
msg['Subject'] = subject # 设置邮件主题
msg['From'] = msg_from # 设置发送方
msg['To'] = msg_to # 设置接收方
try:
s = smtplib.SMTP_SSL("smtp.qq.com", 465) # 连接到QQ邮箱的SMTP服务器,如果是其他邮箱服务商,需要修改服务器地址和端口号
s.login(msg_from, passwd) # 登录邮箱
s.sendmail(msg_from, msg_to, msg.as_string()) # 发送邮件
print("邮件发送成功")
except Exception as e: # 处理可能出现的异常
print("邮件发送失败:", e)
finally:
s.quit() # 关闭连接
# 使用schedule库设置定时任务,每天10点发送邮件
schedule.every().day.at("10:00").do(send_email) # 你可以修改时间
while True:
schedule.run_pending() # 检查是否有待执行的任务
time.sleep(1) # 每秒检查一次
# 需要安装必要的库: pip install smtplib schedule