当前位置: 首页 > news >正文

2026 年 Python 自动化实战:5 个开箱即用的脚本,帮你告别重复劳动

声明本文为个人学习与工作经验总结所有脚本均经过实际测试旨在帮助开发者提高工作效率。如有疑问欢迎交流讨论。作为程序员我们每天都会遇到很多重复繁琐的工作批量重命名文件、整理下载文件夹、发送邮件、处理 Excel 数据…… 这些工作不仅浪费时间还容易出错。Python 作为一门简单易用的脚本语言是解决这些问题的最佳选择。今天我就为大家分享 5 个开箱即用的 Python 自动化脚本覆盖日常工作中最常见的场景让你从此告别重复劳动。一、批量重命名文件下载文件夹里总是一堆乱七八糟的文件名这个脚本可以帮你批量重命名指定文件夹下的所有文件支持添加前缀、后缀和序号。python运行import os def batch_rename_files(folder_path, prefixfile, start_num1): 批量重命名文件夹中的所有文件 :param folder_path: 文件夹路径 :param prefix: 文件名前缀 :param start_num: 起始序号 # 获取文件夹中的所有文件 files os.listdir(folder_path) for index, filename in enumerate(files, startstart_num): # 构建旧文件路径和新文件路径 old_path os.path.join(folder_path, filename) # 跳过文件夹 if os.path.isdir(old_path): continue # 获取文件扩展名 file_ext os.path.splitext(filename)[1] # 构建新文件名 new_filename f{prefix}_{index:03d}{file_ext} new_path os.path.join(folder_path, new_filename) # 重命名文件 os.rename(old_path, new_path) print(f重命名: {filename} - {new_filename}) # 使用示例 if __name__ __main__: folder ./downloads # 替换为你的文件夹路径 batch_rename_files(folder, prefixdocument, start_num1) print(批量重命名完成)二、自动整理下载文件夹下载文件夹总是杂乱无章这个脚本可以根据文件类型自动将文件分类到不同的文件夹中。python运行import os import shutil def organize_download_folder(folder_path): 自动整理下载文件夹按文件类型分类 :param folder_path: 下载文件夹路径 # 定义文件类型和对应的文件夹 file_types { 图片: [.jpg, .jpeg, .png, .gif, .bmp, .svg], 文档: [.pdf, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .txt], 视频: [.mp4, .avi, .mov, .mkv, .flv], 音频: [.mp3, .wav, .flac, .aac], 压缩包: [.zip, .rar, .7z, .tar, .gz], 程序: [.exe, .msi, .dmg, .pkg, .deb] } # 创建分类文件夹 for folder in file_types.keys(): folder_full_path os.path.join(folder_path, folder) if not os.path.exists(folder_full_path): os.makedirs(folder_full_path) # 创建其他文件夹 others_folder os.path.join(folder_path, 其他) if not os.path.exists(others_folder): os.makedirs(others_folder) # 遍历所有文件 for filename in os.listdir(folder_path): file_path os.path.join(folder_path, filename) # 跳过文件夹 if os.path.isdir(file_path): continue # 获取文件扩展名 file_ext os.path.splitext(filename)[1].lower() # 移动文件到对应的文件夹 moved False for folder, extensions in file_types.items(): if file_ext in extensions: dest_path os.path.join(folder_path, folder, filename) shutil.move(file_path, dest_path) print(f移动: {filename} - {folder}) moved True break # 移动到其他文件夹 if not moved: dest_path os.path.join(others_folder, filename) shutil.move(file_path, dest_path) print(f移动: {filename} - 其他) # 使用示例 if __name__ __main__: download_folder os.path.expanduser(~/Downloads) # 系统默认下载文件夹 organize_download_folder(download_folder) print(下载文件夹整理完成)三、批量处理 Excel 数据需要处理大量 Excel 文件这个脚本可以帮你批量读取多个 Excel 文件合并数据并生成汇总报表。python运行import pandas as pd import os def merge_excel_files(folder_path, output_filemerged_data.xlsx): 批量合并文件夹中的所有Excel文件 :param folder_path: 文件夹路径 :param output_file: 输出文件名 # 存储所有数据 all_data [] # 遍历文件夹中的所有Excel文件 for filename in os.listdir(folder_path): if filename.endswith((.xlsx, .xls)) and not filename.startswith(~$): file_path os.path.join(folder_path, filename) print(f正在读取: {filename}) # 读取Excel文件 df pd.read_excel(file_path) # 添加来源文件名列 df[来源文件] filename # 添加到数据列表 all_data.append(df) # 合并所有数据 if all_data: merged_df pd.concat(all_data, ignore_indexTrue) # 保存合并后的数据 merged_df.to_excel(output_file, indexFalse) print(f合并完成共合并 {len(all_data)} 个文件输出到 {output_file}) else: print(没有找到Excel文件) # 使用示例 if __name__ __main__: excel_folder ./excel_files # 替换为你的Excel文件夹路径 merge_excel_files(excel_folder, output_file销售数据汇总.xlsx)四、自动发送邮件需要定期发送邮件这个脚本可以帮你自动发送带附件的邮件支持群发。python运行import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.application import MIMEApplication def send_email(sender_email, sender_password, receiver_emails, subject, body, attachmentsNone): 发送带附件的邮件 :param sender_email: 发件人邮箱 :param sender_password: 发件人邮箱密码/授权码 :param receiver_emails: 收件人邮箱列表 :param subject: 邮件主题 :param body: 邮件正文 :param attachments: 附件路径列表 # 创建邮件对象 msg MIMEMultipart() msg[From] sender_email msg[To] , .join(receiver_emails) msg[Subject] subject # 添加邮件正文 msg.attach(MIMEText(body, plain, utf-8)) # 添加附件 if attachments: for file_path in attachments: with open(file_path, rb) as f: part MIMEApplication(f.read()) part.add_header(Content-Disposition, attachment, filenameos.path.basename(file_path)) msg.attach(part) # 发送邮件 try: # 这里以QQ邮箱为例其他邮箱请修改SMTP服务器和端口 server smtplib.SMTP_SSL(smtp.qq.com, 465) server.login(sender_email, sender_password) server.sendmail(sender_email, receiver_emails, msg.as_string()) server.quit() print(邮件发送成功) except Exception as e: print(f邮件发送失败: {e}) # 使用示例 if __name__ __main__: sender your_emailqq.com password your_authorization_code # QQ邮箱使用授权码 receivers [receiver1example.com, receiver2example.com] subject 每周工作汇报 body 您好附件是本周的工作汇报请查收。 attachments [./工作汇报.docx, ./数据报表.xlsx] send_email(sender, password, receivers, subject, body, attachments)五、网站状态监控脚本需要监控网站是否正常运行这个脚本可以定期检查网站状态当网站无法访问时发送邮件提醒。python运行import requests import time import smtplib from email.mime.text import MIMEText def check_website_status(url): 检查网站是否正常运行 :param url: 网站URL :return: 正常返回True异常返回False try: response requests.get(url, timeout10) return response.status_code 200 except Exception as e: print(f检查网站失败: {e}) return False def send_alert_email(url, sender_email, sender_password, receiver_email): 发送网站异常提醒邮件 subject f网站异常提醒: {url} body f网站 {url} 无法访问请及时检查 msg MIMEText(body, plain, utf-8) msg[From] sender_email msg[To] receiver_email msg[Subject] subject try: server smtplib.SMTP_SSL(smtp.qq.com, 465) server.login(sender_email, sender_password) server.sendmail(sender_email, receiver_email, msg.as_string()) server.quit() print(提醒邮件发送成功) except Exception as e: print(f提醒邮件发送失败: {e}) def monitor_websites(urls, check_interval300): 监控多个网站状态 :param urls: 网站URL列表 :param check_interval: 检查间隔秒默认5分钟 # 网站状态记录 website_status {url: True for url in urls} print(开始监控网站状态...) while True: for url in urls: current_status check_website_status(url) # 如果状态发生变化 if current_status ! website_status[url]: if not current_status: print(f网站异常: {url}) send_alert_email(url, your_emailqq.com, your_password, alertexample.com) else: print(f网站恢复正常: {url}) # 更新状态 website_status[url] current_status # 等待下一次检查 time.sleep(check_interval) # 使用示例 if __name__ __main__: websites_to_monitor [ https://www.example.com, https://www.baidu.com ] monitor_websites(websites_to_monitor, check_interval300)六、Python 自动化最佳实践添加异常处理在脚本中加入 try-except 语句避免因意外错误导致脚本崩溃使用配置文件将敏感信息如邮箱密码和可配置参数放在单独的配置文件中添加日志记录使用 logging 模块记录脚本运行情况方便问题排查编写注释和文档为函数和关键代码添加注释方便自己和他人理解定期备份数据在进行文件操作前先备份重要数据防止误操作写在最后Python 自动化的魅力在于它能让你用几行代码解决原本需要几个小时才能完成的工作。上面这 5 个脚本只是 Python 自动化的冰山一角你可以根据自己的实际需求进行修改和扩展。希望今天分享的这些脚本能帮助你提高工作效率把更多的时间花在更有创造性的事情上。如果你有其他实用的 Python 自动化脚本欢迎在评论区分享给大家。互动话题你用 Python 写过哪些实用的自动化脚本解决了什么问题欢迎在评论区留言交流
http://www.rkmt.cn/news/1411184.html

相关文章:

  • Android字体适配翻车实录:我是如何用BaseActivity+attachBaseContext守住fontScale=1的
  • 告别视频硬字幕提取的烦恼:本地化AI工具如何让你3分钟搞定字幕生成
  • 5个场景解锁B站视频下载新姿势:哔哩下载姬downkyi完全指南
  • 旧Mac焕新秘籍:用OpenCore Legacy Patcher解锁新macOS的完整指南
  • TaskbarX:Windows任务栏图标居中的终极美化方案
  • VSAR 应用发布:如何把工程能力「打包成给客户用的独立程序」
  • 从相似性分数到自注意力:Transformer核心机制详解与实战
  • ACC自适应巡航控制 软件使用:Carsim2019.0+Matlab_Simulink2021a 适用场景:采用模块化建模方法,搭建ACC自适应巡航控制系统,适用于弯道和直线行驶场景。
  • 后端技术栈与数据库优化:提升系统整体性能
  • 公司裁了三个人,剩下的活我一个人干了,没加班
  • n8n与Claude集成:开发者如何构建智能工作流自动化解决方案
  • Java老兵的逆袭:手把手教你从后端工程师转型AI应用架构师,高薪收藏必备!
  • 5. 问:某个方案写:“将用户问题先做意图分类,再路由到不同 Prompt 模板。”指出其中的一个隐性危险,并说明什么场景下危险会被放大到不可接受。
  • 告别源码编译!Ubuntu 20.04/22.04离线安装PostgreSQL 14的终极避坑清单(附完整deb包列表)
  • JooLun Pro旗舰版SaaS多租户商城:商城小程序与店铺小程序的功能区别详解
  • 技术文档AI化迫在眉睫,但83%工程师正用错Prompt——5类高危写法+12个工业级指令模板
  • 揭秘Ollama、LM Studio等本地大模型工具性能差异的四大核心原因
  • 钉钉自动打卡助手终极使用指南:告别迟到困扰
  • 2026年云与AI从业者必备:FinOps成本优化实战指南
  • 2026年 淋浴椅/老人洗澡椅优质品牌推荐榜:折叠防摔设计+适老化细节,守护长者洗浴安全与舒适之选 - 品牌企业推荐师(官方)
  • UE4网络同步避坑指南:从‘客户端预测’到‘服务器回滚’,你的射击手感差可能因为这
  • 手写算子优化 在上华为昇腾910 Ascend A3 上比 官方引擎vLLM-Ascend 快约 25%
  • 别再折腾VS了!用Dev-C++ 5.11 + OpenCV 2.4.10 搞定图像处理入门(附完整链接库清单)
  • 2026杭州工装:为什么新锐公司更适配企业装修需求
  • 基于本地LLM的敏感文档AI处理管道:隐私、合规与实战
  • 全息MIMO近场波束成形技术与圆形阵列应用
  • 好芯片,晋江造!
  • 别再被“AI中医大模型”骗了!苹果应用商店能下载的,我帮你筛出了这12款
  • [Dify实战] 想让 Dify 接外部数据源,先判断是用 OpenAPI、插件还是 MCP
  • C++类的定义和对象的创建详解