python 10个自动化脚本

目录

🌟 引言

📚 理论基础

🛠️ 使用场景与代码示例

场景一:批量重命名文件

场景二:自动下载网页内容

场景三:数据清洗

场景四:定时执行任务

场景五:自动化邮件发送

场景六:自动化测试

场景七:数据库操作

场景八:日志分析

场景九:文件压缩

场景十:自动化文档生成

🎉 结语



🌟 引言

在程序员的世界里,自动化是提升效率的金钥匙。Python,以其易读性和强大的库支持,成为了实现自动化任务的首选语言。本文精选了10个实用的Python自动化脚本,涵盖文件处理、网络请求、数据分析等多个领域,旨在帮你节省时间,减少重复劳动,提升工作效能。

📚 理论基础

Python的自动化脚本主要依赖于标准库和第三方库,如os、requests、pandas等。通过这些库,我们可以轻松实现文件操作、数据抓取、数据分析等功能。

🛠️ 使用场景与代码示例

场景一:批量重命名文件

在处理大量媒体文件时,统一命名规则非常必要。

代码示例
import os
def batch_rename(directory, prefix):
    i = 1
    for 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'] = subject
    msg['From'] = 'you@example.com'
    msg['To'] = to_email
    s = 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。如果在实际应用中遇到困难,不要犹豫,随时提问,让我们一起成长!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/783546.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

10分钟使用网站构建框架hugo本地搭建个人网站并快速上线详细教程

文章目录 前言1. 安装环境2. 配置环境变量与hugo安装2.1 创建程序目录2.2 配置环境变量2.3 查看程序版本 3. 创建博客网站3.1 创建站点3.2 在站点中创建一篇文章3.3 为网站添加主题 4. 本地访问测试5. 安装内网穿透工具6. 配置公网地址7. 配置固定公网地址 前言 今天和大家分享…

压测引擎数据库设计(上)

压测引擎数据库设计(上) 引言 在当今快速发展的互联网时代,软件质量保证和性能测试变得尤为重要。自动化测试平台,提供了一套完整的解决方案,以确保软件产品在发布前能够满足性能和稳定性的要求。本文将深入探讨滴云自…

启发式防御大模型越狱攻击

前言 在本文中,我们来分析、复现几个典型的启发式的防御工作,用于防御面向大语言模型的越狱攻击。 Self Examination 首先来看Self Examination方法。 这是一种简单的零样本防御LLM攻击的方法,旨在防止用户接触到由LLMs诱导产生的有害或恶…

ROS编译错误: fatal error: test_pkg/test_pkg.h: 没有那个文件

在ROS安装完毕后编译ros工作空间,出现了以下错误: 解决方法: 删除工作空间,重建再重新编译

【数据结构】单链表:数据结构中的舞者,穿梭于理论与实践的舞池

欢迎来到白刘的领域 Miracle_86.-CSDN博客 系列专栏 数据结构与算法 先赞后看,已成习惯 创作不易,多多支持! 一、链表的概念和结构 1.1 链表的概念 在上一篇文章中,我们了解了线性表(linear list),并且学习了其…

你认为最优美的数据结构是什么?

并查集算是,巧妙的不行,让人为之一惊。 在学习数据结构Q的时候,老师多少会提到并查集,他的应用也是超级广泛。本文首先会通过案例来对并查集有一个介绍。然后给出并查集的java实现。 刚好我有一些资料,是我根据网友给…

【Altium】AD-网络版一个用户非人为异常占用多个License的解决方法

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 当出现一个用户同时占用多个授权,又无法单独释放一个授权的情况下,该如何解决。 2、 问题场景 一个用户获取网络版授权后,AD会自动重复获取授权,直到该license下所有授…

怎么给电子文档批量盖骑缝章或公章?

怎么给电子文档批量盖骑缝章或公章?假如你有100个PDF电子文档要同时盖缝章,如果不借助专业的盖电子骑缝章软件,还真不好干。下面讲述如何利用e-章宝批量盖电子骑缝章。 1.在软件中导入待批量盖章的PDF文件 如下图,在“待盖章PDF文件”区域…

后端之路——登录校验

前言:Servlet 【登录校验】这个功能技术的基础是【会话技术】,那么在讲【会话技术】的时候必然要谈到【Cookie】和【Session】这两个东西,那么在这之前必须要先讲一下一个很重要但是很多人都会忽略的一个知识点:【Servlet】 什么是…

redis-cli 连接Redis

Redis-cli介绍 redis-cli 是原生 Redis 自带的命令行工具&#xff0c;您可以在云主机或本地设备上通过 redis-cli 连接 Redis 数据库&#xff0c;进行数据管理。 redis-cli 客户端的使用方法&#xff0c;请参考官方文档。 连接命令 redis-cli -h <redis_instance_address…

【算法笔记自学】第 7 章 提高篇(1)——数据结构专题(1)

7.1栈的应用 #include <iostream> #include <string> #include <stack> using namespace std;int main() {int n, x;string action;cin >> n;stack<int> s;for (int i 0; i < n; i) {cin >> action;if (action "push") {ci…

Qt/C++项目积累: 2.主机监控器 - 2.1 项目介绍

一&#xff1a;项目主体编写背景 在观察程序的运行状态时&#xff0c;其对系统的CPU&#xff0c;内存&#xff0c;硬盘占用无疑是几项重要参考指标&#xff0c;而现有的监控软件&#xff0c;搜索了解到以Zabbix类软件比较出名&#xff0c;其采用标准的SNMP协议的原理来实现监控…

【鸿蒙学习笔记】页面布局

官方文档&#xff1a;布局概述 常见页面结构图 布局元素的组成 线性布局&#xff08;Row、Column&#xff09; 了解思路即可&#xff0c;更多样例去看官方文档 Entry Component struct PracExample {build() {Column() {Column({ space: 20 }) {Text(space: 20).fontSize(15)…

10岁女孩儿童编程规划

目录 1. 背景2. 为什么让她学儿童编程&#xff1f;3. 学习方法&目标4. 整体规划4.1 Python 入门与基础4.1.1 目标4.1.2 学习内容 4.2 C 入门与基础4.2.1 目标4.2.2 学习内容 4.3 算法进阶4.3.1 目标4.3.2 学习内容 4.4 高级编程4.4.1 目标4.4.2 学习内容 4.5 参与编程赛事4…

Java套红:指定位置合并文档-NiceXWPFDocument

需求&#xff1a;做个公文系统&#xff0c;需要将正文文档在某个节点点击套红按钮&#xff0c;实现文档套红 试了很多方法&#xff0c;大多数网上能查到但是实际代码不能找到关键方法&#xff0c;可能是跟包的版本有关系&#xff0c;下面记录能用的这个。 一&#xff1a;添加依…

深入源码,探究#、$号替换符的区别

在Mybatis的日常使用过程中以及在一些技术论坛上我们都能常常听到&#xff0c;不要使用$符号来进行SQL的编写&#xff0c;要使用#符号&#xff0c;否则会有SQL注入的风险。那么&#xff0c;为什么在使用$符号时会有注入的风险呢&#xff0c;以及#号为什么不会有风险呢&#xff…

spark任务,使用 repartition 对数据进行了重新分区,但任务输入数据大小仍存在不均衡

目录 目录 确认 Spark 任务重新分区后的数据不均衡 1. 检查分区大小 2. 使用 DataFrame API 检查分区 3. 使用 Spark UI 查看分区情况 4. 使用日志记录分区信息 可能原因 1. 数据分布不均衡 2. 分区策略 3. 数据预处理 解决方案 1. 检查数据分布 2. 使用 coalesce…

Java反射与Fastjson的危险反序列化

什么是Java反射&#xff1f; 在前文中&#xff0c;我们有一行代码 Computer macBookPro JSON.parseObject(preReceive,Computer.class); 这行代码是什么意思呢&#xff1f;看起来好像就是我们声明了一个名为 macBookPro 的 Computer 类&#xff0c;它由 fastjson 的 parseObje…

工程仪器振弦采集仪的设计与研发进展

工程仪器振弦采集仪的设计与研发进展 工程仪器振弦采集仪是一种用于测量和记录物体振动参数的仪器。它能够实时采集物体的振动信号&#xff0c;并通过内部的传感器将振动信号转化为电信号&#xff0c;然后进行信号放大和处理&#xff0c;最终以数字形式显示或存储。 河北稳控科…

2024图纸加密软件TOP8排行丨企业保护数据安全最佳选择

图纸往往包含了设计人员的创意和智慧&#xff0c;是企业的重要资产。加密可以防止未经授权的复制、分发或使用&#xff0c;保护设计的原创性和独特性不被侵犯。 许多图纸可能含有公司的商业秘密&#xff0c;比如特定的技术参数、生产流程或是产品设计等。这些信息若泄露给竞争…