python 10个自动化脚本
目录
🌟 引言
📚 理论基础
🛠️ 使用场景与代码示例
场景一:批量重命名文件
场景二:自动下载网页内容
场景三:数据清洗
场景四:定时执行任务
场景五:自动化邮件发送
场景六:自动化测试
场景七:数据库操作
场景八:日志分析
场景九:文件压缩
场景十:自动化文档生成
🎉 结语

🌟 引言
在程序员的世界里,自动化是提升效率的金钥匙。Python,以其易读性和强大的库支持,成为了实现自动化任务的首选语言。本文精选了10个实用的Python自动化脚本,涵盖文件处理、网络请求、数据分析等多个领域,旨在帮你节省时间,减少重复劳动,提升工作效能。
📚 理论基础
Python的自动化脚本主要依赖于标准库和第三方库,如os、requests、pandas等。通过这些库,我们可以轻松实现文件操作、数据抓取、数据分析等功能。
🛠️ 使用场景与代码示例
场景一:批量重命名文件
在处理大量媒体文件时,统一命名规则非常必要。
代码示例
import os
def batch_rename(directory, prefix):i = 1for filename in os.listdir(directory):ext = os.path.splitext(filename)[1]new_name = f"{prefix}_{i}{ext}"os.rename(os.path.join(directory, filename), os.path.join(directory, new_name))i += 1
batch_rename('/path/to/directory', 'file')
场景二:自动下载网页内容
对于研究者或数据分析师来说,自动抓取网络数据至关重要。
代码示例
import requests
def download_webpage(url, output_file):response = requests.get(url)with open(output_file, 'w') as file:file.write(response.text)
download_webpage('http://example.com', 'webpage.html')
场景三:数据清洗
数据预处理是数据分析的重要环节。
代码示例
import pandas as pd
def clean_data(file_path):df = pd.read_csv(file_path)df.dropna(inplace=True)df.to_csv(file_path, index=False)
clean_data('data.csv')
场景四:定时执行任务
确保任务在特定时间点执行,比如发送日报。
代码示例
import schedule
import time
def job():print("Task executed")
schedule.every().day.at("10:30").do(job)
while True:schedule.run_pending()time.sleep(1)
场景五:自动化邮件发送
自动发送报告,无需手动操作。
代码示例
import smtplib
from email.mime.text import MIMEText
def send_email(subject, message, to_email):msg = MIMEText(message)msg['Subject'] = subjectmsg['From'] = 'you@example.com'msg['To'] = to_emails = smtplib.SMTP('localhost')s.sendmail('you@example.com', [to_email], msg.as_string())s.quit()
send_email('Daily Report', 'Here is your daily report.', 'recipient@example.com')
场景六:自动化测试
确保代码质量,每次修改后都能自动测试。
代码示例
import unittest
class TestMyFunction(unittest.TestCase):def test_add(self):self.assertEqual(add(1, 2), 3)
if __name__ == '__main__':unittest.main()
场景七:数据库操作
自动化数据备份和恢复。
代码示例
import sqlite3
def backup_database(db_path, backup_path):conn = sqlite3.connect(db_path)backup_conn = sqlite3.connect(backup_path)conn.backup(backup_conn)backup_conn.close()conn.close()
backup_database('database.db', 'backup.db')
场景八:日志分析
从日志文件中提取关键信息。
代码示例
import re
def analyze_logs(log_file):pattern = r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'with open(log_file, 'r') as file:for line in file:match = re.search(pattern, line)if match:print(match.group())
analyze_logs('access.log')
场景九:文件压缩
批量压缩文件,便于存储和传输。
代码示例
import zipfile
def compress_files(file_paths, zip_file):with zipfile.ZipFile(zip_file, 'w') as myzip:for file_path in file_paths:myzip.write(file_path)
compress_files(['file1.txt', 'file2.txt'], 'archive.zip')
场景十:自动化文档生成
根据数据自动生成报告。
代码示例
from docx import Document
def generate_report(data, report_file):doc = Document()doc.add_heading('Report', 0)doc.add_paragraph(str(data))doc.save(report_file)
generate_report('Sample data', 'report.docx')
🎉 结语
通过以上10个Python自动化脚本的实例,你可以看到Python在自动化领域的强大功能。无论是日常办公还是专业开发,Python都能帮助你节省时间和精力,让工作更加高效和愉快。希望你能将这些脚本融入自己的工作流程中,享受自动化带来的便利!
如果你对某个脚本特别感兴趣,或者有更多自动化需求,欢迎留言交流。让我们一起探索Python自动化世界的无限可能!🚀
请确保在运行上述代码前,已安装所有必需的Python库,如requests, pandas, schedule, unittest, sqlite3, re, zipfile, 和 docx。如果在实际应用中遇到困难,不要犹豫,随时提问,让我们一起成长!

相关文章:
python 10个自动化脚本
目录 🌟 引言 📚 理论基础 🛠️ 使用场景与代码示例 场景一:批量重命名文件 场景二:自动下载网页内容 场景三:数据清洗 场景四:定时执行任务 场景五:自动化邮件发送 场景六…...
填报高考志愿,怎样正确地选择大学专业?
大学专业的选择,会关系到未来几年甚至一辈子的发展方向。这也是为什么很多人结束高考之后就开始愁眉苦脸,因为他们不知道应该如何选择大学专业,生怕一个错误的决定会影响自己一生。 毋庸置疑,在面对这种选择的时候,我…...
Java 使用sql查询mongodb
在现代应用开发中,关系型数据库和NoSQL数据库各有千秋。MongoDB作为一种流行的NoSQL数据库,以其灵活的文档模型和强大的扩展能力,受到广泛欢迎。然而,有时开发者可能更熟悉SQL查询语法,或者需要在现有系统中复用SQL查询…...
WIN32核心编程 - 线程操作(二) 同步互斥
公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 竞态条件 CriticalSection Mutex CriticalSection & Mutex Semaphore Event 竞态条件 多线程环境下,当多个线程同时访问或者修改同一个数据时,最终结果为线程执…...
web自动化(六)unittest 四大组件实战(京东登录搜索加入购物车)
Unittest框架 Unittest框架:框架测试模块测试管理模块测试统计模块,python的内置模块 import unittest Unittest框架四大组件: 1、TestCase 测试用例 2.TestFixture 测试用例夹具 测试用例需要执行的前置和后置 3.TestSuite 测试套件 把需要执行的测试用例汇总在一…...
鸿蒙语言基础类库:【@ohos.process (获取进程相关的信息)】
获取进程相关的信息 说明: 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。…...
华为笔试题
文章目录 1、数的分解2、字符串判断子串 1、数的分解 给定一个正整数n,如果能够分解为m(m > 1)个连续正整数之和, 请输出所有分解中,m最小的分解。 如果给定整数无法分解为连续正整数,则输出字符串"N"。 输入描述&a…...
【MySQL基础篇】函数及约束
1、函数 函数是指一段可以直接被另一段程序程序调用的程序或代码。 函数 - 字符串函数 MySQL中内置了很多字符串函数,常用的几个如下: 函数功能CONCAT(S1,S2,...,Sn)字符串拼接,将S1,S2,...,Sn拼接成一个字符串LOWER(str)将字符串str全部…...
YOLOv9报错:AttributeError: ‘list‘ object has no attribute ‘view‘
报错信息如下: red_distri, pred_scores torch.cat([xi.view(feats[0].shape[0], self.no, -1) for xi in feats], 2).split( AttributeError: ‘list’ object has no attribute ‘view’ 解决方法: 去yolov9/utils/loss_tal.py把167行代码更改&#…...
Bert入门-使用BERT(transformers库)对推特灾难文本二分类
Kaggle入门竞赛-对推特灾难文本二分类 这个是二月份学习的,最近整理资料所以上传到博客备份一下 数据在这里:https://www.kaggle.com/competitions/nlp-getting-started/data github(jupyter notebook):https://gith…...
【DFS(深度优先搜索)详解】看这一篇就够啦
【DFS详解】看这一篇就够啦 🍃1. 算法思想🍃2. 三种枚举方式🍃2.1 指数型枚举🍃2.2 排列型枚举🍃2.3 组合型枚举 🍃3. 剪枝优化🍃4. 图的搜索🍃5. 来几道题试试手🍃5.1 选…...
java-spring boot光速入门教程(超详细!!)
目录 一、引言 1.1 初始化配置 1.2 整合第三方框架 1.3 后期维护 1.4 部署工程 1.5 敏捷式开发 二、SpringBoot介绍 spring boot 2.1 搭建一个spring boot工程 2.2 使用idea创建项目 2.3 在线创建姿势 2.4 项目的目录结构 2.5 项目的运行方式 2.6 yml文件格式 2…...
一、Prometheus和Grafana搭建
一、服务端Prometheus二进制安装 https://prometheus.io/下载过慢可使用迅雷下载 tar -zxvf prometheus-2.53.0.linux-amd64.tar.gz启动 ./prometheus --config.fileprometheus.yml将其配置为系统服务: vim /usr/lib/systemd/system/prometheus.service[Unit] D…...
从零开始的python学习生活
pycharm部分好用快捷键 变量名的定义 与之前学习过的语言有所不同的是,python中变量名的定义更加的简洁 such as 整形。浮点型和字符串的定义 money50 haha13.14 gaga"hello"字符串的定义依然是需要加上引号,也不需要写;了 字符…...
MSP学习
一、迁移资源调研 完成导入,类似完成选型分析 离线工具调研 账单 二、迁移计划 1、 ecs 确认开始构建迁移环境后,平台将锁定当前标记的迁移资源范围及源端、目标端资源配置信息,并以此为迁移环境构建及迁移实施的数据依据 目标账号…...
生产力工具|Endnote X9如何自动更新文件信息
一、以EndNote X9.2版本为例,打开EndNote文献管理软件。 二、在菜单栏找到“Edit→Preferences...”,点击打开,弹出一个“EndNote Preferences”窗口。 三、进行设置 在打开的窗口左侧选择“PDF Handing”,右边会出现自动导入文献…...
【python】字典、列表、集合综合练习
1、练习1(字典) 字典dic,dic {‘k1’:‘v1’, ‘k2’: ‘v2’, ‘k3’: [11,22,33]} (1). 请循环输出所有的key dic {"k1": "v1", "k2": "v2", "k3": [11, 22, 33]} for k in dic.keys():print(k)k1 k2 k3(2). 请循环输…...
超融合服务器挂载硬盘--linux系统
项目中需要增加服务器的硬盘容量,通过超融合挂载了硬盘后,还需要添加到指定的路径下,这里记录一下操作步骤。 一:通过管理界面挂载硬盘 这一步都是界面操作,登录超融合控制云台后,找到对应的服务器&#…...
Kafka如何防止消息重复发送
Kafka 提供了几种方式来防止消息重复发送和处理。这些方式通常取决于生产者和消费者的设置和实现方式: 生产者端幂等性(什么是幂等性): 幂等性生产者:从 Kafka 0.11 版本开始引入了生产者端的幂等性支持。生产者可以通…...
数据库设计原则介绍
数据库设计是一个重要的过程,它涉及到创建一个逻辑结构来存储和管理数据。良好的数据库设计可以确保数据的完整性、一致性、性能和安全性。以下是一些关键的数据库设计原则: 1. 数据规范化 (Normalization) 目的:减少数据冗余、提高数据一致…...
从BGA封装到Xtacking架构:图解NAND堆叠技术如何影响SSD性能
从BGA封装到Xtacking架构:NAND堆叠技术如何重塑SSD性能格局 当一块企业级SSD的读写速度突破7GB/s时,工程师们发现传统的NAND封装技术正在成为性能提升的瓶颈。在PCIe 5.0时代,信号传输速率需要达到2400MT/s才能充分发挥带宽潜力,而…...
Python数据分析项目实战(044)——Pandas数据导出常用方法
版权声明 本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl to_csv() 作用:将DataFrame数据导出为CSV(逗号分隔值)格式文件,是最常用的数据导出格式之一。 import pandas as pddata = {姓名: [张三, 李四<...
OpenClaw+Phi-3-vision-128k-instruct医疗辅助:医学影像报告自动生成系统
OpenClawPhi-3-vision-128k-instruct医疗辅助:医学影像报告自动生成系统 1. 医疗AI落地的隐私合规挑战 去年参与某三甲医院科研项目时,我深刻体会到医疗AI落地的核心矛盾——技术潜力与隐私合规的冲突。当时我们需要处理数千份CT影像,传统人…...
从草图到逼真人脸:Qwen-Image-Edit-F2P结合ControlNet的进阶玩法展示
从草图到逼真人脸:Qwen-Image-Edit-F2P结合ControlNet的进阶玩法展示 最近在玩AI图像生成的朋友,可能都遇到过这样的烦恼:想让AI画一张特定角度、特定表情的人脸,光靠文字描述,结果总是像开盲盒。你说“一个微笑的东方…...
自动驾驶开发必备:Vscode+Git双神器组合的隐藏技巧(含分支管理秘籍)
自动驾驶开发必备:VscodeGit双神器组合的隐藏技巧(含分支管理秘籍) 在自动驾驶开发领域,高效的代码管理和协作流程是项目成功的关键因素。随着代码库规模不断扩大,团队规模持续增长,传统的版本控制方式往往…...
ECharts折线图入门学习:从基础到实战的完整指南
引言 折线图是数据可视化中最常用的图表类型之一,特别适合展示数据随时间变化的趋势。ECharts作为一款功能强大的JavaScript可视化库,提供了丰富的配置选项和交互功能,能够轻松创建出专业、美观的折线图。本文将带领大家从零开始学习ECharts折…...
IBM Plex字体家族全攻略:企业级开源字体的应用与实践
IBM Plex字体家族全攻略:企业级开源字体的应用与实践 【免费下载链接】plex The package of IBM’s typeface, IBM Plex. 项目地址: https://gitcode.com/gh_mirrors/pl/plex 企业级字体解决方案的价值解析 在数字产品设计中,字体作为视觉传达的…...
突破百度网盘限速瓶颈:BaiduPCS-Go命令行客户端完全指南
突破百度网盘限速瓶颈:BaiduPCS-Go命令行客户端完全指南 【免费下载链接】BaiduPCS-Go iikira/BaiduPCS-Go原版基础上集成了分享链接/秒传链接转存功能 项目地址: https://gitcode.com/GitHub_Trending/ba/BaiduPCS-Go 你是否厌倦了百度网盘那令人抓狂的下载…...
企业员工福利平台选型:技术架构与对接难点拆解
企业员工福利平台选型:技术架构与对接难点拆解“选对企业员工福利平台,技术架构与系统对接是决定落地成败的关键——忽略技术适配性的选型,往往会让福利项目陷入‘上线易、用着难’的困境。”随着企业数字化转型加速,员工福利从“…...
comsol电磁超声压电接收EMAT 在1mm厚铝板中激励250kHz的电磁超声在200mm位...
comsol电磁超声压电接收EMAT 在1mm厚铝板中激励250kHz的电磁超声在200mm位置处设置一个深0.8mm的裂纹缺陷,左端面设为低反射边界 在85mm位置处放置一个压电片接收信号,信号如图3所示,三个波分别为始波,裂纹反射波(S0模态)和右端面…...
