Python通用工具案例实操?

wen python案例 1

本文目录导读:

  1. 目录导读
  2. 为什么你需要一套Python通用工具?
  3. 案例一:文件与文件夹批量管理
  4. 案例二:Excel与CSV数据处理自动化
  5. 案例三:网页信息抓取与监控
  6. 案例四:定时任务与系统通知
  7. 常见问题与避坑指南
  8. 从工具思维到自动化习惯

Python通用工具案例实操:从脚本到自动化,零基础也能上手的高效工具箱

目录导读

  1. 为什么你需要一套Python通用工具?

    • 现实痛点与Python的解决方案
    • 与Excel/VBA的对比优势
  2. 文件与文件夹批量管理

    • 自动重命名、分类与清理
    • 代码实战:10秒处理1000个文件
  3. Excel与CSV数据处理自动化

    • 合并、拆分、清洗与格式转换
    • 实用函数库 pandas 快速入门
  4. 网页信息抓取与监控

    • 爬虫基础:requests + BeautifulSoup
    • 实战:监控商品价格变化并发送提醒
  5. 定时任务与系统通知

    • Windows任务计划程序 vs Python schedule库
    • 结合邮件/企业微信发送报告
  6. 常见问题与避坑指南

    Q&A:为什么我的脚本不执行?编码报错怎么办?

  7. 从工具思维到自动化习惯


为什么你需要一套Python通用工具?

现实场景:每天重复打开文件夹、点击右键重命名、复制粘贴Excel数据、手动检查网站更新……这些“低价值但必须做”的任务,正在消耗你的精力。

Python的优势

  • 一次编写,无限复用
  • 跨平台(Windows/Mac/Linux)
  • 强大的第三方库生态(os, shutil, pandas, requests, schedule等)

对比Excel VBA:Python代码更易读、调试更方便,且能与数据库、网页、API无缝对接。

问答环节
Q:我完全零编程基础,能学会吗?
A:完全可以,本文所有案例均基于“复制-粘贴-修改路径”就能运行,你只需懂最基础的变量和循环概念。


案例一:文件与文件夹批量管理

目标:将某个文件夹内所有照片按拍摄日期自动归类到相应月份子文件夹。

核心库os, shutil, datetime

import os
import shutil
from datetime import datetime
source_path = r'C:\你的照片文件夹'
for file in os.listdir(source_path):
    if file.endswith(('.jpg', '.png')):
        # 获取文件修改日期
        mtime = os.path.getmtime(os.path.join(source_path, file))
        month_str = datetime.fromtimestamp(mtime).strftime('%Y-%m')
        target_dir = os.path.join(source_path, month_str)
        os.makedirs(target_dir, exist_ok=True)
        shutil.move(os.path.join(source_path, file), os.path.join(target_dir, file))

实战要点

  • exist_ok=True 避免文件夹已存在时报错
  • 可扩展为根据文件大小、后缀名等进行分类

案例二:Excel与CSV数据处理自动化

目标:将3个结构相同的销售报表合并成一个,并自动去除重复行、填充空值。

核心库pandas

import pandas as pd
import glob
file_list = glob.glob('销售报表_*.xlsx')
df_list = [pd.read_excel(f) for f in file_list]
merged_df = pd.concat(df_list, ignore_index=True)
# 数据清洗
merged_df.drop_duplicates(inplace=True)
merged_df.fillna(0, inplace=True)
merged_df.to_excel('汇总报表.xlsx', index=False)

问答环节
Q:pandas安装很慢怎么办?
A:使用国内镜像源:pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple


案例三:网页信息抓取与监控

目标:监控某电商平台商品价格,当低于设定值时自动发送邮件提醒。

核心库requests, BeautifulSoup, smtplib

import requests
from bs4 import BeautifulSoup
import smtplib
from email.mime.text import MIMEText
def check_price(url, threshold):
    headers = {'User-Agent': 'Mozilla/5.0'}
    response = requests.get(url, headers=headers)
    soup = BeautifulSoup(response.text, 'html.parser')
    price = float(soup.select_one('.price').text.replace('¥', ''))
    if price < threshold:
        msg = MIMEText(f'价格已降至{price}元!')
        msg['Subject'] = '降价提醒'
        with smtplib.SMTP('smtp.qq.com', 587) as server:
            server.starttls()
            server.login('你的邮箱', '授权码')
            server.send_message(msg)

注意事项

  • 某些网站反爬虫严格,需添加headers或使用selenium
  • 建议结合schedschedule库设置检查频率

案例四:定时任务与系统通知

目标:每天早上9点自动清理临时文件夹,并将结果推送至企业微信群。

核心库schedule, requests(Webhook)

import schedule
import time
import shutil
import requests
def cleanup_and_notify():
    shutil.rmtree(r'C:\Temp\old', ignore_errors=True)
    webhook_url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的key'
    data = {"msgtype": "text", "text": {"content": "临时文件清理完成"}}
    requests.post(webhook_url, json=data)
schedule.every().day.at("09:00").do(cleanup_and_notify)
while True:
    schedule.run_pending()
    time.sleep(60)

主流替代方案

  • Windows:任务计划程序(无需后台运行Python)
  • Linux:cron表达式
  • 跨平台:apscheduler库更强大

常见问题与避坑指南

Q1:脚本双击后一闪而过怎么办?
A:在代码末尾加上input('按任意键退出...') 或打包成exe。

Q2:读取CSV时中文乱码?
A:使用encoding='utf-8-sig'encoding='gbk'

Q3:爬虫被网站封IP?
A:使用time.sleep(5)降低访问频率,或设置代理IP池。

Q4:我想把工具分享给同事,他电脑没Python?
A:使用PyInstaller打包成单个exe文件:pip install pyinstaller,然后执行pyinstaller -F 你的脚本.py


从工具思维到自动化习惯

Python通用工具的本质是“用代码代替重复劳动”

  • 初期:直接复制本文案例,修改路径和参数即可应用
  • 进阶:将多个工具组合成“自动化流水线”
  • 你不再需要手动处理任何可被描述的重复任务

能交给机器的事,千万别手做。 从今天开始,尝试用Python解决本周最让你头疼的重复工作——你会发现,代码远比Excel宏和手工点击更友好。

下一步建议

  1. 先拿案例一处理一下你的下载文件夹(放心,不会删文件)
  2. 尝试修改案例三的监控对象为自己常逛的网站
  3. 遇到问题直接复制错误信息到搜索引擎,99%已有答案

开始你的第一个自动化吧!

标签: 工具案例

抱歉,评论功能暂时关闭!