首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >25个Python实用脚本,让你的工作效率翻倍

25个Python实用脚本,让你的工作效率翻倍

作者头像
用户11081884
发布2026-07-20 19:53:12
发布2026-07-20 19:53:12
340
举报

你有没有遇到过这种情况?

每天重复打开Excel、复制粘贴文件、手动发送邮件……

时间都浪费在这些机械性的工作上了。

说实话,我之前也是这样。

直到我学会了用Python写脚本,才发现原来自动化真的能解放双手

今天整理了25个实用高效的Python自动化脚本,涵盖文件管理、数据处理、通信自动化等场景。

帮你告别重复劳动,效率提升3倍


一、文件管理类

1、批量文件重命名

自动为目录下所有文件添加前缀/后缀或替换关键词:

代码语言:javascript
复制
import os
def batch_rename(path, old_str, new_str):
    for file in os.listdir(path):
        if old_str in file:
            new_name = file.replace(old_str, new_str)
            os.rename(os.path.join(path, file), os.path.join(path, new_name))

适用场景:整理下载文件夹、标准化命名。


2、智能文件整理

按扩展名自动分类文件(如图片、文档):

代码语言:javascript
复制
import os, shutil
downloads_folder = "/path/to/downloads"
extensions = {"图片": [".jpg", ".png"], "文档": [".pdf", ".docx"]}
for file in os.listdir(downloads_folder):
    for folder, exts in extensions.items():
        if any(file.endswith(ext) for ext in exts):
            dest_folder = os.path.join(downloads_folder, folder)
            os.makedirs(dest_folder, exist_ok=True)
            shutil.move(os.path.join(downloads_folder, file), dest_folder)

适用场景:清理杂乱下载目录。


3、自动备份工具

带时间戳的目录备份,防止数据丢失:

代码语言:javascript
复制
import shutil, datetime
def backup_folder(source, dest):
    timestamp = datetime.datetime.now().strftime('%Y%m%d_%H%M%S')
    backup_path = os.path.join(dest, f"backup_{timestamp}")
    shutil.copytree(source, backup_path)

适用场景:关键数据定期备份。


4、重复文件清理

扫描并删除重复文件,释放磁盘空间:

代码语言:javascript
复制
import os
import hashlib

def get_file_hash(filepath):
    with open(filepath, 'rb') as f:
        return hashlib.md5(f.read()).hexdigest()

def find_duplicates(directory):
    hashes = {}
    duplicates = []
    for root, _, files in os.walk(directory):
        for file in files:
            filepath = os.path.join(root, file)
            file_hash = get_file_hash(filepath)
            if file_hash in hashes:
                duplicates.append(filepath)
            else:
                hashes[file_hash] = filepath
    return duplicates

适用场景:清理照片库、文档备份。


二、数据处理与文档操作

5、Excel数据合并

整合多个Excel文件数据到单一表格:

代码语言:javascript
复制
import pandas as pd
def merge_excel(folder_path, output_file):
    all_data = pd.DataFrame()
    for file in os.listdir(folder_path):
        if file.endswith('.xlsx'):
            df = pd.read_excel(os.path.join(folder_path, file))
            all_data = pd.concat([all_data, df])
    all_data.to_excel(output_file, index=False)

适用场景:财务报告整合、销售数据汇总。


6、PDF合并与分割

合并多个PDF文件为单一文档:

代码语言:javascript
复制
from PyPDF2 import PdfMerger
def merge_pdfs(pdf_list, output_file):
    merger = PdfMerger()
    for pdf in pdf_list:
        merger.append(pdf)
    merger.write(output_file)

适用场景:合同整合、会议资料整理。


7、PDF文本提取

从PDF中提取可编辑文本:

代码语言:javascript
复制
import PyPDF2
def extract_text(pdf_path):
    with open(pdf_path, 'rb') as file:
        reader = PyPDF2.PdfReader(file)
        return "\n".join(page.extract_text() for page in reader.pages)

适用场景:合同内容分析、报告数据复用。


8、CSV转Excel

自动化格式转换(需pandas库):

代码语言:javascript
复制
import pandas as pd
def csv_to_excel(csv_path, excel_path):
    df = pd.read_csv(csv_path)
    df.to_excel(excel_path, index=False)

适用场景:数据迁移、报表格式标准化。


9、数据透视表生成

自动创建Excel数据透视表:

代码语言:javascript
复制
import pandas as pd
def create_pivot_table(data_file, output_file):
    df = pd.read_excel(data_file)
    pivot = df.pivot_table(
        values='sales',
        index='category',
        columns='month',
        aggfunc='sum',
        fill_value=0
    )
    pivot.to_excel(output_file)

适用场景:销售分析、业务报表自动化。


10、JSON数据清洗

批量清洗和转换JSON数据:

代码语言:javascript
复制
import json

def clean_json(input_file, output_file):
    with open(input_file, 'r', encoding='utf-8') as f:
        data = json.load(f)

    cleaned_data = []
    for item in data:
        if item.get('value') and item['value'] > 0:
            cleaned_data.append({
                'id': item.get('id'),
                'name': item.get('name', '未知').strip(),
                'value': round(item['value'], 2)
            })

    with open(output_file, 'w', encoding='utf-8') as f:
        json.dump(cleaned_data, f, ensure_ascii=False, indent=2)

适用场景:API数据清洗、配置文件整理。


三、通信与任务自动化

11、定时邮件发送

自动发送日报或通知(需schedule库):

代码语言:javascript
复制
import smtplib, schedule
def send_daily_report():
    msg = MIMEText("今日报告内容...")
    msg['Subject'] = '每日报告'
    with smtplib.SMTP_SSL('smtp.gmail.com', 465) as server:
        server.login('your_email@gmail.com', 'password')
        server.sendmail(sender, receiver, msg.as_string())
schedule.every().day.at("08:00").do(send_daily_report)

适用场景:自动化日报推送。


12、任务计划执行器

定时运行指定任务(如数据清理):

代码语言:javascript
复制
import schedule, time
def job():
    print("执行数据库清理...")
schedule.every(3).hours.do(job)  # 每3小时执行
while True:
    schedule.run_pending()
    time.sleep(1)

适用场景:定期维护任务。


13、企业微信通知

通过机器人发送工作群通知:

代码语言:javascript
复制
import requests

def send_wechat_message(webhook_url, message):
    data = {
        "msgtype": "text",
        "text": {
            "content": message
        }
    }
    requests.post(webhook_url, json=data)

适用场景:任务完成提醒、异常报警。


14、钉钉群消息

自动发送钉钉群消息:

代码语言:javascript
复制
import requests

def send_dingtalk_message(webhook_url, content):
    data = {
        "msgtype": "text",
        "text": {
            "content": content
        }
    }
    requests.post(webhook_url, json=data)

适用场景:团队协作通知、进度同步。


四、图像与媒体处理

15、图片批量压缩

调整尺寸和质量以节省空间:

代码语言:javascript
复制
from PIL import Image
def compress_image(input_path, output_path, quality=85):
    img = Image.open(input_path)
    if max(img.size) > 1200: 
        img.thumbnail((1200, 1200))
    img.save(output_path, quality=quality, optimize=True)

适用场景:网站图片优化、邮件附件压缩。


16、视频剪辑自动化

拼接/加速视频(需moviepy库):

代码语言:javascript
复制
import moviepy.editor as pyedit
video = pyedit.VideoFileClip("vid.mp4")
final_vid = video.subclip(0, 10).speedx(2)  # 截取前10秒并加速2倍
final_vid.write_videofile("output.mp4")

适用场景:社交媒体内容制作。


17、图片格式批量转换

一键转换图片格式:

代码语言:javascript
复制
from PIL import Image
import os

def convert_images(folder, from_format, to_format):
    for file in os.listdir(folder):
        if file.endswith(from_format):
            img = Image.open(os.path.join(folder, file))
            new_name = file.replace(from_format, to_format)
            img.save(os.path.join(folder, new_name))

适用场景:PNG转JPG、WebP转换。


18、批量添加水印

自动为图片添加水印:

代码语言:javascript
复制
from PIL import Image, ImageDraw, ImageFont

def add_watermark(input_path, output_path, watermark_text):
    img = Image.open(input_path)
    draw = ImageDraw.Draw(img)
    # 添加水印文字
    draw.text((10, 10), watermark_text, fill=(255, 255, 255))
    img.save(output_path)

适用场景:版权保护、品牌标识。


五、网络与系统管理

19、网页数据抓取

自动采集网站信息(如新闻标题):

代码语言:javascript
复制
import requests
from bs4 import BeautifulSoup
def scrape_news(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    return [h2.text for h2 in soup.find_all('h2')]

适用场景:竞品监控、数据聚合。


20、日志分析工具

快速筛选日志中的错误信息:

代码语言:javascript
复制
def analyze_log(log_file):
    with open(log_file, 'r') as f:
        return [line for line in f if "ERROR" in line]

适用场景:系统故障排查。


21、网络连接测试

检测服务端口可用性:

代码语言:javascript
复制
import socket
def test_connection(host="8.8.8.8", port=53):
    try:
        socket.create_connection((host, port), timeout=3)
        return "连接成功"
    except OSError:
        return "连接失败"

适用场景:服务器健康检查。


22、网站监控告警

监控网站可用性并报警:

代码语言:javascript
复制
import requests
import time

def monitor_website(url, check_interval=60):
    while True:
        try:
            response = requests.get(url, timeout=10)
            if response.status_code != 200:
                send_alert(f"网站异常: {url}")
        except Exception as e:
            send_alert(f"连接失败: {str(e)}")
        time.sleep(check_interval)

适用场景:业务系统监控、服务可用性检测。


六、高级办公工具

23、Word文档批量处理

自动修改文档内容(需python-docx库):

代码语言:javascript
复制
from docx import Document
def update_word_doc(file_path, old_text, new_text):
    doc = Document(file_path)
    for para in doc.paragraphs:
        if old_text in para.text:
            para.text = para.text.replace(old_text, new_text)
    doc.save('updated.docx')

适用场景:合同模板更新、报告标准化。


24、剪贴板管理

记录和管理剪贴板历史:

代码语言:javascript
复制
import pyperclip
import time

def clipboard_monitor():
    last_content = ""
    while True:
        current_content = pyperclip.paste()
        if current_content != last_content:
            save_to_history(current_content)
            last_content = current_content
        time.sleep(1)

适用场景:多内容复制粘贴、历史记录管理。


25、文件夹同步工具

自动同步两个文件夹内容:

代码语言:javascript
复制
import os
import shutil

def sync_folders(source, destination):
    for root, dirs, files in os.walk(source):
        for file in files:
            src_file = os.path.join(root, file)
            relative_path = os.path.relpath(src_file, source)
            dest_file = os.path.join(destination, relative_path)

            os.makedirs(os.path.dirname(dest_file), exist_ok=True)

            if not os.path.exists(dest_file):
                shutil.copy2(src_file, dest_file)

适用场景:多设备数据同步、备份文件更新。


使用建议

  • 灵活调整:所有脚本均可根据需求修改路径、参数(如邮件频率/压缩质量)。
  • 库安装:执行前需安装相关库(pip install pandas PyPDF2 pillow schedule等)。
  • 安全提示:涉及密码的脚本(如邮件发送)建议使用环境变量存储敏感信息。
  • 自动化部署:结合系统定时任务(如Linux的cron或Windows任务计划)实现全自动运行。

这些脚本覆盖了日常办公中80%的重复性工作,平均可提升3倍效率。建议从文件整理和备份脚本入手,逐步扩展至复杂场景如数据抓取和报告生成。

说实话,学会写脚本只是第一步。

更重要的是培养自动化的思维

每次遇到重复工作时,先想想:这个能用Python自动化吗?

一旦开始,你会发现效率提升真的是指数级的

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-02-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Nicholas与Pypi 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、文件管理类
    • 1、批量文件重命名
    • 2、智能文件整理
    • 3、自动备份工具
    • 4、重复文件清理
  • 二、数据处理与文档操作
    • 5、Excel数据合并
    • 6、PDF合并与分割
    • 7、PDF文本提取
    • 8、CSV转Excel
    • 9、数据透视表生成
    • 10、JSON数据清洗
  • 三、通信与任务自动化
    • 11、定时邮件发送
    • 12、任务计划执行器
    • 13、企业微信通知
    • 14、钉钉群消息
  • 四、图像与媒体处理
    • 15、图片批量压缩
    • 16、视频剪辑自动化
    • 17、图片格式批量转换
    • 18、批量添加水印
  • 五、网络与系统管理
    • 19、网页数据抓取
    • 20、日志分析工具
    • 21、网络连接测试
    • 22、网站监控告警
  • 六、高级办公工具
    • 23、Word文档批量处理
    • 24、剪贴板管理
    • 25、文件夹同步工具
  • 使用建议
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档