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

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

作者头像
用户11081884
发布2026-07-20 20:17:34
发布2026-07-20 20:17:34
390
举报

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

每天重复着同样的操作:重命名文件、整理文件夹、合并Excel表格……

这些枯燥的工作占用了你大量时间,让你无法专注于更有价值的事情。

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

直到我发现了一个方法——用Python自动化脚本。

简单来说就是:

让电脑帮你干活,而不是你帮电脑干活。


文件管理类脚本

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、批量转换图片格式

需要把一堆图片从JPG转成PNG?

这个脚本一键搞定:

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

def batch_convert_images(input_folder, output_folder, target_format='PNG'):
    os.makedirs(output_folder, exist_ok=True)
    for file in os.listdir(input_folder):
        if file.lower().endswith(('.jpg', '.jpeg', '.png', '.bmp', '.gif')):
            try:
                img = Image.open(os.path.join(input_folder, file))
                output_name = os.path.splitext(file)[0] + f'.{target_format.lower()}'
                img.save(os.path.join(output_folder, output_name), target_format)
            except Exception as e:
                print(f"转换失败: {file}, 错误: {e}")

适用场景:网站图片格式统一、素材格式转换。

5、查找重复文件

磁盘空间不够用了?

找出那些重复的文件清理掉:

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

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

def get_file_hash(file_path):
    hash_md5 = hashlib.md5()
    with open(file_path, "rb") as f:
        for chunk in iter(lambda: f.read(4096), b""):
            hash_md5.update(chunk)
    return hash_md5.hexdigest()

适用场景:磁盘空间清理、文件去重。


数据处理与文档操作

6、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)

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

7、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)

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

8、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)

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

9、CSV转Excel

需要把CSV转成Excel?

一行代码搞定:

代码语言: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)

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

10、数据可视化报表

数据看不懂?

自动生成图表让你一目了然:

代码语言:javascript
复制
import pandas as pd
import matplotlib.pyplot as plt

def generate_charts(data_file, output_folder):
    df = pd.read_excel(data_file)
    os.makedirs(output_folder, exist_ok=True)

    # 生成柱状图
    df.plot(kind='bar')
    plt.savefig(os.path.join(output_folder, 'bar_chart.png'))
    plt.close()

    # 生成折线图
    df.plot(kind='line')
    plt.savefig(os.path.join(output_folder, 'line_chart.png'))
    plt.close()

适用场景:销售数据分析、业绩报表生成。


通信与任务自动化

11、定时邮件发送

每天早上8点自动发日报?

这个脚本帮你实现:

代码语言: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 itchat

@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
    if '帮助' in msg['Text']:
        return '可以问:天气、时间、笑话'
    elif '天气' in msg['Text']:
        return '今天晴转多云,温度20-28度'
    return '你好!我是群助手'

itchat.auto_login(hotReload=True)
itchat.run()

适用场景:客户服务群、工作群自动回复。

14、企业微信消息推送

运维告警需要及时通知?

用企业微信机器人:

代码语言:javascript
复制
import requests

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

# 使用示例
webhook_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY"
send_wecom_message(webhook_url, "服务器监控告警:CPU使用率超过90%")

适用场景:运维告警、工作通知推送。

15、邮件附件批量处理

需要批量下载邮件里的附件?

这个脚本帮你自动下载:

代码语言:javascript
复制
import imaplib
import email
import os

def download_email_attachments(email_user, email_password, output_folder):
    mail = imaplib.IMAP4_SSL('imap.gmail.com')
    mail.login(email_user, email_password)
    mail.select('inbox')

    _, messages = mail.search(None, '(UNSEEN)')
    for msg_id in messages[0].split():
        _, msg_data = mail.fetch(msg_id, '(RFC822)')
        email_message = email.message_from_bytes(msg_data[0][1])
        for part in email_message.walk():
            if part.get_content_disposition() == 'attachment':
                filename = part.get_filename()
                if filename:
                    filepath = os.path.join(output_folder, filename)
                    with open(filepath, 'wb') as f:
                        f.write(part.get_payload(decode=True))

适用场景:自动处理发票、合同等附件。


图像与媒体处理

16、图片批量压缩

图片太大占空间?

批量压缩一下:

代码语言: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)

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

17、视频剪辑自动化

需要快速剪辑视频?

用Python自动化:

代码语言: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")

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

18、图片添加水印

保护图片版权?

批量添加水印:

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

def add_watermark(input_path, output_path, watermark_text):
    img = Image.open(input_path).convert('RGBA')
    txt_img = Image.new('RGBA', img.size, (255, 255, 255, 0))
    draw = ImageDraw.Draw(txt_img)

    font = ImageFont.truetype('arial.ttf', 36)
    text_width, text_height = draw.textsize(watermark_text, font)

    position = (img.width - text_width - 20, img.height - text_height - 20)
    draw.text(position, watermark_text, fill=(255, 255, 255, 128), font=font)

    watermarked = Image.alpha_composite(img, txt_img)
    watermarked.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]

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


使用建议

这些脚本要怎么用才高效?

给你几个建议:

  • 灵活调整:根据你的需求修改路径、参数
  • 库安装:执行前先安装需要的库(pip install pandas PyPDF2等)
  • 安全提示:密码信息用环境变量存储,别写死在代码里
  • 自动化部署:配合系统定时任务,实现全自动运行

这些脚本覆盖了日常办公中80%的重复性工作,平均可提升3倍效率。

建议你从文件整理和备份脚本入手,逐步扩展到数据抓取和报告生成。


写在最后

Python自动化不是要取代你,而是帮你解放双手。

让机器处理那些重复、枯燥的工作,你才能把时间花在更有价值的事情上。

效率的本质,不是做得更快,而是让电脑帮你做。

💬 你觉得哪个脚本最实用?评论区聊聊~

“无他,惟手熟尔”!有需要的用起来!

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文件管理类脚本
    • 1、 批量文件重命名
    • 2、 智能文件整理
    • 3、 自动备份工具
    • 4、批量转换图片格式
    • 5、查找重复文件
  • 数据处理与文档操作
    • 6、Excel数据合并
    • 7、PDF合并与分割
    • 8、PDF文本提取
    • 9、CSV转Excel
    • 10、数据可视化报表
  • 通信与任务自动化
    • 11、定时邮件发送
    • 12、任务计划执行器
    • 13、微信群机器人
    • 14、企业微信消息推送
    • 15、邮件附件批量处理
  • 图像与媒体处理
    • 16、图片批量压缩
    • 17、视频剪辑自动化
    • 18、图片添加水印
  • 网络与系统管理
    • 19、网页数据抓取
    • 20、日志分析工具
  • 使用建议
  • 写在最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档