百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

Python自动化脚本应用与示例(python办公自动化脚本)

wptr33 2025-06-15 19:47 20 浏览

Python 是编写自动化脚本的绝佳选择,因其语法简洁、库丰富且跨平台兼容性强。以下是 Python 自动化脚本的常见应用场景及示例,帮助你快速上手:


一、常见自动化场景

  1. 文件与目录操作

O 批量重命名文件

O 清理临时文件/重复文件

O 自动备份重要数据

O 文件格式批量转换(如 .txt 转 .csv)

  1. 网页操作与爬虫

O 自动填写表单/提交数据

O 网页内容抓取(新闻、价格监控)

O 定时检查网站更新

  1. 数据处理

O 自动化 Excel/CSV 数据处理

O 生成统计报告并发送邮件

O 数据库定期备份与清洗

  1. 系统管理

O 监控系统资源(CPU、内存)

O 自动化部署服务器

O 批量管理远程设备(SSH)

  1. 日常办公

O 自动发送邮件/短信

O 定时提醒任务

O 自动化操作 GUI 软件(如 Excel、浏览器)


二、Python 自动化常用库

库名

用途

os/shutil

文件和目录操作

subprocess

执行系统命令

requests

HTTP 请求与网页交互

selenium

浏览器自动化(动态网页)

beautifulsoup4

网页内容解析(静态网页)

pandas

数据处理与分析

openpyxl/xlrd

Excel 文件操作

schedule

定时任务调度

pyautogui

控制鼠标和键盘(GUI 自动化)


三、实用脚本示例

1. 批量重命名文件

python

import os

folder_path = "./documents"

for index, filename in enumerate(os.listdir(folder_path)):

new_name = f"report_{index}.txt"

src = os.path.join(folder_path, filename)

dst = os.path.join(folder_path, new_name)

os.rename(src, dst)

2. 网页内容抓取(使用 requests + BeautifulSoup)

python

import requests

from bs4 import BeautifulSoup


url = "https://example.com/news"

response = requests.get(url)

soup = BeautifulSoup(response.text, 'html.parser')


for headline in soup.find_all('h2', class_='title'):

print(headline.text.strip())

3. 自动发送邮件(使用 smtplib)

python

import smtplib

from email.mime.text import MIMEText


sender = "your_email@example.com"

receiver = "target@example.com"

password = "your_app_password" # 使用应用专用密码


msg = MIMEText("这是自动发送的测试邮件。")

msg['Subject'] = 'Python自动化邮件'

msg['From'] = sender

msg['To'] = receiver


with smtplib.SMTP_SSL('smtp.example.com', 465) as server:

server.login(sender, password)

server.sendmail(sender, receiver, msg.as_string())

4. 定时任务(使用 schedule 库)

python

import schedule

import time


def daily_backup():

print("开始自动备份数据库...")

# 添加备份代码


schedule.every().day.at("02:00").do(daily_backup)


while True:

schedule.run_pending()

time.sleep(60) # 每分钟检查一次


四、进阶技巧

  1. 异常处理
    使用 try...except 增强脚本健壮性:

python

try:

os.remove("temp_file.txt")

except FileNotFoundError:

print("文件不存在,无需删除")

  1. 日志记录
    使用 logging 模块记录运行状态:

python

import logging

logging.basicConfig(filename='automation.log', level=logging.INFO)

logging.info("脚本开始运行")

  1. 跨平台兼容性
    使用 pathlib 处理路径:

python

from pathlib import Path

file_path = Path("documents") / "data.csv"

  1. 无界面运行(Headless)
    Selenium 无头模式示例:

python

from selenium.webdriver import ChromeOptions

options = ChromeOptions()

options.add_argument("--headless=new")

driver = webdriver.Chrome(options=options)


通过结合具体需求选择合适的库和工具,你可以快速实现高效的自动化流程!

相关推荐

MySQL进阶五之自动读写分离mysql-proxy

自动读写分离目前,大量现网用户的业务场景中存在读多写少、业务负载无法预测等情况,在有大量读请求的应用场景下,单个实例可能无法承受读取压力,甚至会对业务产生影响。为了实现读取能力的弹性扩展,分担数据库压...

Postgres vs MySQL_vs2022连接mysql数据库

...

3分钟短文 | Laravel SQL筛选两个日期之间的记录,怎么写?

引言今天说一个细分的需求,在模型中,或者使用laravel提供的EloquentORM功能,构造查询语句时,返回位于两个指定的日期之间的条目。应该怎么写?本文通过几个例子,为大家梳理一下。学习时...

一文由浅入深带你完全掌握MySQL的锁机制原理与应用

本文将跟大家聊聊InnoDB的锁。本文比较长,包括一条SQL是如何加锁的,一些加锁规则、如何分析和解决死锁问题等内容,建议耐心读完,肯定对大家有帮助的。为什么需要加锁呢?...

验证Mysql中联合索引的最左匹配原则

后端面试中一定是必问mysql的,在以往的面试中好几个面试官都反馈我Mysql基础不行,今天来着重复习一下自己的弱点知识。在Mysql调优中索引优化又是非常重要的方法,不管公司的大小只要后端项目中用到...

MySQL索引解析(联合索引/最左前缀/覆盖索引/索引下推)

目录1.索引基础...

你会看 MySQL 的执行计划(EXPLAIN)吗?

SQL执行太慢怎么办?我们通常会使用EXPLAIN命令来查看SQL的执行计划,然后根据执行计划找出问题所在并进行优化。用法简介...

MySQL 从入门到精通(四)之索引结构

索引概述索引(index),是帮助MySQL高效获取数据的数据结构(有序),在数据之外,数据库系统还维护者满足特定查询算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构...

mysql总结——面试中最常问到的知识点

mysql作为开源数据库中的榜一大哥,一直是面试官们考察的重中之重。今天,我们来总结一下mysql的知识点,供大家复习参照,看完这些知识点,再加上一些边角细节,基本上能够应付大多mysql相关面试了(...

mysql总结——面试中最常问到的知识点(2)

首先我们回顾一下上篇内容,主要复习了索引,事务,锁,以及SQL优化的工具。本篇文章接着写后面的内容。性能优化索引优化,SQL中索引的相关优化主要有以下几个方面:最好是全匹配。如果是联合索引的话,遵循最...

MySQL基础全知全解!超详细无废话!轻松上手~

本期内容提醒:全篇2300+字,篇幅较长,可搭配饭菜一同“食”用,全篇无废话(除了这句),干货满满,可收藏供后期反复观看。注:MySQL中语法不区分大小写,本篇中...

深入剖析 MySQL 中的锁机制原理_mysql 锁详解

在互联网软件开发领域,MySQL作为一款广泛应用的关系型数据库管理系统,其锁机制在保障数据一致性和实现并发控制方面扮演着举足轻重的角色。对于互联网软件开发人员而言,深入理解MySQL的锁机制原理...

Java 与 MySQL 性能优化:MySQL分区表设计与性能优化全解析

引言在数据库管理领域,随着数据量的不断增长,如何高效地管理和操作数据成为了一个关键问题。MySQL分区表作为一种有效的数据管理技术,能够将大型表划分为多个更小、更易管理的分区,从而提升数据库的性能和可...

MySQL基础篇:DQL数据查询操作_mysql 查

一、基础查询DQL基础查询语法SELECT字段列表FROM表名列表WHERE条件列表GROUPBY分组字段列表HAVING分组后条件列表ORDERBY排序字段列表LIMIT...

MySql:索引的基本使用_mysql索引的使用和原理

一、索引基础概念1.什么是索引?索引是数据库表的特殊数据结构(通常是B+树),用于...