易君召
发布于 2026-08-14 / 作者:易君召 / 2 阅读
0

Python 日常任务自动化完整指南

Python 做自动化核心思路:识别重复操作 → 选择对应库 → 编写脚本 → 定时执行,覆盖文件处理、办公、网页、邮件、剪贴板、系统操作,附带可直接复制示例。

一、必备常用库分类

场景

作用

文件 / 文件夹

os、pathlib、shutil

遍历、重命名、移动、批量处理文件

Excel/Word/PPT

openpyxl、python‑docx、python‑pptx

读写 Office 文档

PDF

PyPDF2、pdfplumber

PDF 提取、合并拆分

网页自动化

requests、BeautifulSoup4、Selenium/Playwright

爬虫、浏览器模拟操作

邮件发送

smtplib、email

自动发邮件、带附件

剪贴板

pyperclip

复制粘贴自动化

桌面 GUI 自动化

pyautogui

模拟鼠标键盘(界面无 API 时用)

定时执行

schedule、APScheduler

脚本定时运行

系统命令

subprocess

调用 cmd/shell 命令

安装示例:

pip install openpyxl pyperclip requests beautifulsoup4 schedule pyautogui playwright
playwright install

二、高频日常自动化示例

1. 文件自动化:批量重命名文件

pathlib 现代文件操作,推荐优先使用

python

运行

from pathlib import Path

folder = Path(r"D:/test_files")
# 遍历目录下png图片
for idx, file in enumerate(folder.glob("*.png"), start=1):
    new_name = folder / f"photo_{idx:03d}.png"
    file.rename(new_name)
print("批量重命名完成")

2. Excel 自动化:读取 + 写入

python

运行

from openpyxl import load_workbook

wb = load_workbook("data.xlsx")
ws = wb.active

# 读取A1单元格
val = ws["A1"].value
print(val)

# 写入数据
ws["B2"] = "自动写入内容"
ws.append(["张三",28,"工程师"])

wb.save("data_output.xlsx")

3. 剪贴板自动化

python

运行

import pyperclip

# 复制到剪贴板
pyperclip.copy("Hello Python自动化")
# 获取剪贴板内容
text = pyperclip.paste()
print(text)

4. 自动发送邮件(带附件)

python

运行

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication

msg = MIMEMultipart()
msg["From"] = "xxx@163.com"
msg["To"] = "target@xxx.com"
msg["Subject"] = "自动化邮件通知"

msg.attach(MIMEText("这是Python自动发送的邮件正文","plain"))

# 添加附件
with open("report.xlsx","rb") as f:
    att = MIMEApplication(f.read())
    att.add_header('Content‑Disposition','attachment',filename="report.xlsx")
    msg.attach(att)

# 163邮箱示例,使用授权码登录
with smtplib.SMTP_SSL("smtp.163.com",465) as server:
    server.login("xxx@163.com","你的授权码")
    server.send_message(msg)
print("邮件发送成功")

5. 网页数据抓取(静态页面)

python

运行

import requests
from bs4 import BeautifulSoup

resp = requests.get("https://example.com")
soup = BeautifulSoup(resp.text,"html.parser")

# 提取所有a标签
for a in soup.find_all("a"):
    print(a.get_text(), a.get("href"))

6. 浏览器自动化(Playwright,比 selenium 更稳定)

模拟人工打开浏览器、点击、输入

python

运行

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False) # headless=True无头不显示浏览器
    page = browser.new_page()
    page.goto("https://www.baidu.com")
    page.locator("#kw").fill("Python自动化")
    page.locator("#su").click()
    page.wait_for_timeout(3000)
    browser.close()

7. 定时执行脚本

schedule 库简单定时

python

运行

import schedule
import time

def job():
    print(f"执行定时任务 {time.ctime()}")

# 每1分钟执行一次
schedule.every(1).minutes.do(job)
# schedule.every().day.at("08:30").do(job) # 每天早上8点30分

while True:
    schedule.run_pending()
    time.sleep(1)

生产环境不推荐 schedule,Linux 用 crontab,Windows 用任务计划程序,比 Python 循环更可靠。

三、系统层面设置自动运行(重点)

脚本写完后,不需要手动双击运行:

Windows

  1. 将脚本保存为 task.py

  2. Windows「任务计划程序」:新建任务,触发器设置时间,操作启动程序,程序填 python.exe,参数填脚本完整路径。

建议打包成 exe:pyinstaller -F task.py,目标机器不需要装 Python 环境。

Linux/macOS

使用 crontab,crontab -e编辑

plaintext

30 8 * * * /usr/bin/python3 /home/user/task.py >> /home/user/task.log 2>&1

含义:每天 8 点 30 分运行脚本,输出日志。

四、GUI 桌面自动化(无 API 软件,慎用)

pyautogui 模拟鼠标键盘,适合没有接口的老旧桌面软件,分辨率变了脚本会失效

python

运行

import pyautogui
pyautogui.click(x=100,y=200) #点击坐标
pyautogui.typewrite("输入文字")

优先优先优先找 API / 导出文件,尽量少用图像模拟操作,维护成本高。

五、最佳实践与避坑

  1. 优先使用 API,不要直接模拟鼠标键盘,GUI 自动化兼容性差,换电脑就失效。

  2. 文件操作全部使用绝对路径,相对路径容易出错,推荐pathlib

  3. 增加异常捕获,防止脚本中途崩掉:

python

运行

try:
    #任务逻辑
    pass
except Exception as e:
    print(f"出错:{e}")
  1. 做好日志输出,不要只用 print,用 logging 模块记录运行情况。

  2. 不要滥用爬虫,遵守网站 robots 协议,设置延时,避免频繁请求封 IP。

六、常见自动化场景清单,你可以直接挑方向练习

  1. 批量整理下载文件夹:归类图片、文档、压缩包

  2. 每日自动导出 Excel 报表,邮件发送给自己

  3. 监控网页,有更新自动通知

  4. PDF 批量合并、提取文本

  5. 自动备份文件到网盘(搭配 rclone)

  6. 自动填写表单(Playwright)