目录
还在重复复制粘贴文件?每天手动发几十封邮件?微信消息回到手抽筋?快来组建你的Python自动化特工队!本文将带你解锁三大办公超能力,让你的电脑从此学会自己「打工」!
📁 第一章:文件整理特工 - 批量处理大法
1.1 智能文件管家
import os
import shutil
from pathlib import Path
class FileOrganizer:
def __init__(self, source_dir):
self.workplace = Path(source_dir)
self.file_types = {
'图片': ['.jpg', '.png', '.gif'],
'文档': ['.pdf', '.docx', '.xlsx'],
'视频': ['.mp4', '.mov', '.avi']
}
def create_folders(self):
"""建造分类仓库"""
for category in self.file_types.keys():
(self.workplace / category).mkdir(exist_ok=True)
def organize_files(self):
"""开始大扫除"""
for file in self.workplace.iterdir():
if file.is_file():
for category, extensions in self.file_types.items():
if file.suffix.lower() in extensions:
dest = self.workplace / category / file.name
shutil.move(str(file), str(dest))
print(f"🚚 已搬运 {file.name} 到 {category}")
break
# 使用示例
organizer = FileOrganizer("~/Downloads")
organizer.create_folders()
organizer.organize_files()
📧 第二章:邮件魔法师 - 自动发送秘技
2.1 智能邮件小秘书
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import os
class EmailBot:
def __init__(self):
self.sender = "your_email@163.com"
self.password = os.getenv("EMAIL_PWD") # 从环境变量获取密码
def create_email(self, receiver, subject, content):
"""制作魔法信封"""
message = MIMEMultipart()
message['From'] = self.sender
message['To'] = receiver
message['Subject'] = subject
message.attach(MIMEText(content, 'html'))
return message
def send_email(self, message):
"""放飞信鸽"""
with smtplib.SMTP_SSL('smtp.163.com', 465) as server:
server.login(self.sender, self.password)
server.sendmail(self.sender,
message['To'],
message.as_string())
print(f"📨 已发送邮件至 {message['To']}")
# 使用示例
bot = EmailBot()
html_content = """
<h2>每日报告</h2>
<p>今日销售额:<span style="color:red">¥128,000</span></p>
<table border="1">
<tr><th>产品</th><th>销量</th></tr>
<tr><td>咖啡</td><td>120杯</td></tr>
</table>
"""
email = bot.create_email("boss@company.com",
"自动化日报",
html_content)
bot.send_email(email)
💬 第三章:微信机器人指挥官
3.1 智能消息管家(使用itchat)
import itchat
from itchat.content import TEXT
@itchat.msg_register(TEXT)
def message_assistant(msg):
"""24小时待命的机器人"""
reply_rules = {
'报价': '当前产品价格:\n咖啡¥30\n蛋糕¥45',
'联系方式': '客服电话:400-123-4567',
'地址': '门店地址:宇宙中心五道口'
}
for keyword in reply_rules:
if keyword in msg.text:
return f"自动回复:\n{reply_rules[keyword]}"
if '人工' in msg.text:
return "正在为您转接客服..."
return "收到您的消息,稍后回复您!"
# 启动机器人
itchat.auto_login(hotReload=True)
itchat.run()
🛠️ 第四章:超能装备库
4.1 定时任务管理器
import schedule
import time
def daily_report():
"""每日自动生成报告"""
print("⏰ 正在生成日报...")
# 这里可以调用前面写的邮件发送方法
def file_cleanup():
"""每周清理临时文件"""
print("🧹 开始大扫除!")
# 调用文件整理类
# 设置定时器
schedule.every().day.at("09:00").do(daily_report)
schedule.every().monday.at("18:00").do(file_cleanup)
while True:
schedule.run_pending()
time.sleep(60)
4.2 智能文件搜索
import glob
def find_files(pattern, search_dir):
"""文件探测仪"""
return glob.glob(f"{search_dir}/**/{pattern}",
recursive=True)
# 示例:查找所有PDF合同
contracts = find_files("合同*.pdf", "/documents")
print(f"🔍 找到{len(contracts)}份合同文件")
💡 自动化生存指南
- 安全第一:敏感信息使用环境变量存储
- 异常处理:重要操作添加try-except保护
- 日志记录:使用logging模块记录操作流水
- 遵守规则:微信机器人避免高频发送消息
- 效率优化:大文件操作使用多线程
“真正的自动化不是取代人力,而是让人去做更有价值的事情” ——《Python自动化圣经》