Python 自动化办公的 10 大脚本

大家好,我是你们的 Python 讲师!今天我们将讨论 10 个实用的 Python 自动化办公脚本。这些脚本可以帮助你简化日常工作,提高效率。无论是处理 Excel 文件、发送邮件,还是自动化网页操作,Python 都能派上用场。

1. 批量重命名文件

如果你需要对一堆文件进行重命名,比如给文件添加前缀或后缀,可以使用以下脚本:

复制代码
import os

def batch_rename_files(directory, prefix):
    """批量重命名指定目录下的所有文件,添加前缀"""
    for filename in os.listdir(directory):
        new_name = f"{prefix}_{filename}"
        os.rename(os.path.join(directory, filename), os.path.join(directory, new_name))
    print("文件重命名完成")

# 使用示例
batch_rename_files('path/to/your/directory', 'new_prefix')
复制代码

说明:此脚本遍历指定目录中的所有文件,并为每个文件添加指定的前缀。

2. 自动发送电子邮件

使用 smtplib 库,你可以轻松实现自动发送电子邮件的功能。

复制代码
import smtplib
from email.mime.text import MIMEText

def send_email(subject, body, to_email):
    """发送电子邮件"""
    from_email = 'your_email@example.com'
    password = 'your_email_password'

    # 创建邮件内容
    msg = MIMEText(body)
    msg['Subject'] = subject
    msg['From'] = from_email
    msg['To'] = to_email

    # 发送邮件
    with smtplib.SMTP_SSL('smtp.example.com', 465) as server:
        server.login(from_email, password)
        server.send_message(msg)
        print("邮件发送成功")

# 使用示例
send_email("测试主题", "这是一封测试邮件", "recipient@example.com")
复制代码

说明:确保替换邮件地址和 SMTP 服务器信息,以使其适应你的邮箱设置。

3. 批量处理 Excel 文件

使用 pandas 和 openpyxl 库,可以轻松读取和写入 Excel 文件。

复制代码
import pandas as pd

def process_excel(file_path):
    """读取 Excel 文件并处理数据"""
    df = pd.read_excel(file_path)  # 读取 Excel 文件
    df['新列'] = df['原列'] * 2  # 在 DataFrame 中添加新列
    df.to_excel('processed_file.xlsx', index=False)  # 保存处理后的结果
    print("Excel 文件处理完成")

# 使用示例
process_excel('path/to/your/excel_file.xlsx')
复制代码

说明:此脚本读取指定的 Excel 文件,对其中一列的数据进行简单的数学运算,然后保存处理后的结果到新的 Excel 文件中。

4. 网页抓取数据

使用 requests 和 BeautifulSoup,可以轻松从网页抓取数据。

复制代码
import requests
from bs4 import BeautifulSoup

def fetch_data(url):
    """从指定 URL 抓取数据"""
    response = requests.get(url)
    soup = BeautifulSoup(response.content, 'html.parser')

    titles = [title.get_text() for title in soup.find_all('h2')]  # 假设标题在 <h2> 标签中
    print("抓取到的标题:")
    for title in titles:
        print(title)

# 使用示例
fetch_data('https://example.com')
复制代码

说明:该脚本访问指定的 URL,解析 HTML 内容,并提取所有 <h2> 标签内的文本。

5. 文件备份

这个脚本可以帮助你快速备份指定目录中的文件。

复制代码
import shutil
import os
import datetime

def backup_files(source_directory, backup_directory):
    """备份文件到指定目录"""
    date_str = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
    backup_path = os.path.join(backup_directory, f"backup_{date_str}")
    shutil.copytree(source_directory, backup_path)  # 复制整个目录
    print(f"备份完成: {backup_path}")

# 使用示例
backup_files('path/to/source_directory', 'path/to/backup_directory')
复制代码

说明:该脚本使用 shutil.copytree() 方法复制源目录中的所有文件到备份目录。

6. 自动生成报告

如果你需要根据数据生成报告,可以使用 pandas 来处理数据并生成 PDF 或 Excel 格式的报告。

复制代码
import pandas as pd

def generate_report(data):
    """根据数据生成简单的 Excel 报告"""
    df = pd.DataFrame(data)
    df.to_excel('report.xlsx', index=False)
    print("报告已生成: report.xlsx")

# 使用示例
data = {
    '姓名': ['张三', '李四'],
    '分数': [90, 85]
}
generate_report(data)
复制代码

说明:该脚本将样本数据转换为一个 Excel 文件。

7. 图片批量处理

使用 Pillow 库,可以批量处理图片,例如调整大小或格式转换。

复制代码
from PIL import Image
import os

def resize_images(source_directory, output_directory, size=(800, 800)):
    """调整指定目录下所有图片的大小"""
    if not os.path.exists(output_directory):
        os.makedirs(output_directory)

    for filename in os.listdir(source_directory):
        if filename.endswith(('.png', '.jpg', '.jpeg')):
            img_path = os.path.join(source_directory, filename)
            img = Image.open(img_path)
            img = img.resize(size)
            img.save(os.path.join(output_directory, filename))
            print(f"已调整大小并保存: {filename}")

# 使用示例
resize_images('path/to/source_images', 'path/to/output_images', (800, 800))
复制代码

说明:该脚本遍历指定目录,调整每张图片的大小并保存到输出目录。

8. 数据库操作

使用 sqlite3 库,可以方便地与 SQLite 数据库进行交互。

复制代码
import sqlite3

def create_table():
    """创建一个简单的SQLite表"""
    conn = sqlite3.connect('example.db')
    cursor = conn.cursor()
    cursor.execute('''CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
    conn.commit()
    conn.close()
    print("表创建成功")

# 使用示例
create_table()
复制代码

说明:此脚本连接到 SQLite 数据库并创建一个用户表。

9. 自动化日程提醒

可以使用 schedule 库设置定时任务,比如每天发送提醒邮件。

复制代码
import schedule
import time

def job():
    print("这是您的日程提醒!请记得查看日程安排。")

# 设置每天的提醒时间
schedule.every().day.at("10:00").do(job)

while True:
    schedule.run_pending()
    time.sleep(1)
复制代码

说明:该脚本每天下午 10 点执行预定的提醒任务。

10. 网络监控

可以编写一个简单的脚本来监控特定网站的状态,确保它们正常运行。

复制代码
import requests

def check_website(url):
    """检查网站是否正常"""
    try:
        response = requests.get(url)
        if response.status_code == 200:
            print(f"{url} 正常运行")
        else:
            print(f"{url} 返回状态码: {response.status_code}")
    except requests.exceptions.RequestException as e:
        print(f"访问 {url} 时发生错误: {e}")

# 使用示例
check_website('https://example.com')
复制代码

说明:该脚本尝试访问指定的网站,并根据响应状态码判断网站是否正常运行。

总结

以上就是 Python 自动化办公的 10 大脚本。这些脚本可以帮助你简化日常工作,提高生产力。掌握这些基本技能后,你将能够更高效地处理各种办公任务。如果你有任何问题或者想要讨论的内容,欢迎在评论区留言!

希望这篇文章能为你的 Python 编程之路提供帮助!下次再见!

全套Python学习资料分享:

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

三、python入门资料大全

四、python进阶资料大全

五、python爬虫专栏

六、入门学习视频全套

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

七、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

八、python最新面试题

相关推荐
databook8 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar10 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户83562907805110 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_10 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机16 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机17 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机17 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机17 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i18 小时前
drf初步梳理
python·django
每日AI新事件18 小时前
python的异步函数
python