Python自动化处理日常任务的示例代码

 更新时间:2025年01月16日 10:46:57   作者:王子良.  
这篇文章主要为大家详细介绍了如何使用Python自动化处理日常任务,例如自动化文件管理,自动化定时任务,自动化发送邮件等,有需要的小伙伴可以参考一下

1. 自动化文件管理

1.1 批量重命名文件

假设你有一批文件,文件名需要按一定规则批量修改,可以使用 os 和 re 库来实现。

import os
import re
 
# 设置目录路径
directory = 'C:/path/to/your/files'
 
# 获取文件列表
files = os.listdir(directory)
 
# 批量重命名文件
for filename in files:
    new_name = re.sub(r'old_pattern', 'new_pattern', filename)  # 替换文件名中的内容
    os.rename(os.path.join(directory, filename), os.path.join(directory, new_name))
 
print("文件重命名完成!")

1.2 自动分类文件

根据文件扩展名自动将文件分类到不同的文件夹中。

import os
import shutil
 
# 设置目录路径
directory = 'C:/path/to/your/files'
 
# 获取文件列表
files = os.listdir(directory)
 
# 定义文件分类规则
file_types = {
    'images': ['.jpg', '.jpeg', '.png', '.gif'],
    'documents': ['.pdf', '.txt', '.docx'],
    'audio': ['.mp3', '.wav']
}
 
# 创建文件夹(如果不存在)
for folder in file_types:
    if not os.path.exists(os.path.join(directory, folder)):
        os.makedirs(os.path.join(directory, folder))
 
# 移动文件
for filename in files:
    file_path = os.path.join(directory, filename)
    if os.path.isfile(file_path):
        moved = False
        for folder, extensions in file_types.items():
            if any(filename.endswith(ext) for ext in extensions):
                shutil.move(file_path, os.path.join(directory, folder, filename))
                moved = True
                break
        if not moved:
            print(f"文件 {filename} 没有分类!")
            
print("文件分类完成!")

2. 自动化定时任务

2.1 使用 schedule 库定时执行任务

schedule 是一个 Python 库,专门用于调度定时任务。你可以使用它来设置定时执行的任务。

import schedule
import time
 
# 定义要执行的任务
def job():
    print("任务开始执行!")
 
# 每隔 10 秒执行一次任务
schedule.every(10).seconds.do(job)
 
# 持续运行任务
while True:
    schedule.run_pending()
    time.sleep(1)

2.2 使用 APScheduler 执行复杂定时任务

APScheduler 是一个功能更强大的调度任务库,支持多种调度方式。

from apscheduler.schedulers.blocking import BlockingScheduler
import datetime
 
# 定义要执行的任务
def print_time():
    print(f"当前时间:{datetime.datetime.now()}")
 
# 创建调度器
scheduler = BlockingScheduler()
 
# 添加任务,定时每分钟执行
scheduler.add_job(print_time, 'interval', minutes=1)
 
# 启动调度器
scheduler.start()

3. 自动化发送邮件

使用 smtplib 库,可以自动化发送邮件,比如定时向客户或团队成员发送报告。

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
 
def send_email(subject, body, to_email):
    from_email = "your_email@gmail.com"
    password = "your_password"
 
    # 设置邮件内容
    msg = MIMEMultipart()
    msg['From'] = from_email
    msg['To'] = to_email
    msg['Subject'] = subject
    msg.attach(MIMEText(body, 'plain'))
 
    # 发送邮件
    try:
        server = smtplib.SMTP('smtp.gmail.com', 587)
        server.starttls()
        server.login(from_email, password)
        text = msg.as_string()
        server.sendmail(from_email, to_email, text)
        server.quit()
        print("邮件发送成功!")
    except Exception as e:
        print(f"邮件发送失败:{e}")
 
# 调用函数发送邮件
send_email("自动化报告", "这是自动化发送的邮件内容", "recipient_email@example.com")

4. 自动化网络爬虫

使用 requests 和 BeautifulSoup 库,可以自动化爬取网页内容,并将其存储到文件中。

import requests
from bs4 import BeautifulSoup
 
# 定义爬取目标网址
url = "https://example.com"
 
# 发送 HTTP 请求获取网页内容
response = requests.get(url)
 
# 解析网页内容
soup = BeautifulSoup(response.text, 'html.parser')
 
# 获取页面标题
title = soup.title.string
 
# 打印标题
print(f"网页标题: {title}")

5. 自动化数据处理

5.1 使用 Pandas 库处理数据

如果你经常需要处理 CSV 文件或 Excel 文件,可以使用 Pandas 库来实现数据的读取、处理和导出。

import pandas as pd
 
# 读取 CSV 文件
df = pd.read_csv('data.csv')
 
# 进行数据处理(例如:筛选大于 100 的值)
df_filtered = df[df['column_name'] > 100]
 
# 保存处理后的数据到新的 CSV 文件
df_filtered.to_csv('filtered_data.csv', index=False)
 
print("数据处理完成!")

5.2 定时备份数据库

可以通过 Python 脚本定时备份数据库,减少人工干预。

import mysql.connector
import datetime
import os
 
def backup_database():
    # 数据库连接配置
    db = mysql.connector.connect(
        host="localhost",
        user="your_user",
        password="your_password",
        database="your_database"
    )
 
    # 创建备份文件名
    backup_filename = f"backup_{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}.sql"
 
    # 使用 mysqldump 进行备份
    os.system(f"mysqldump -u your_user -p'your_password' your_database > {backup_filename}")
 
    print(f"数据库备份完成!备份文件: {backup_filename}")
 
# 定时备份
backup_database()

6. 自动化图像处理

如果你需要自动处理图像文件(例如,批量调整大小、转换格式等),可以使用 Pillow 库。

from PIL import Image
import os
 
# 设置图像目录
image_directory = 'C:/path/to/your/images'
 
# 获取所有图像文件
files = os.listdir(image_directory)
 
# 批量调整图像大小
for filename in files:
    if filename.endswith('.jpg'):
        image_path = os.path.join(image_directory, filename)
        with Image.open(image_path) as img:
            img = img.resize((800, 600))  # 调整大小为 800x600
            img.save(os.path.join(image_directory, f"resized_{filename}"))
 
print("图像处理完成!")

7. 自动化 Web 操作

如果你需要自动化与网页的交互,可以使用 Selenium 来模拟浏览器操作。

from selenium import webdriver
 
# 设置 WebDriver
driver = webdriver.Chrome(executable_path="path/to/chromedriver")
 
# 打开网页
driver.get("https://example.com")
 
# 查找并点击一个按钮
button = driver.find_element_by_xpath("//button[@id='submit']")
button.click()
 
# 获取网页内容
page_content = driver.page_source
print(page_content)
 
# 关闭浏览器
driver.quit()

总结

使用 Python 自动化日常任务可以极大地提高效率并减少重复性工作。通过 Python 中的各种库(如 os、shutil、schedule、smtplib、requests、pandas、Pillow 等),你可以轻松实现文件管理、定时任务、邮件发送、网页爬取、数据处理等多种自动化任务。

到此这篇关于Python自动化处理日常任务的示例代码的文章就介绍到这了,更多相关Python自动化处理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中lambda排序的六种方法

    Python中lambda排序的六种方法

    本文主要介绍了Python中使用lambda函数进行排序的六种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01
  • python实现图片处理和特征提取详解

    python实现图片处理和特征提取详解

    这篇文章主要介绍了python实现图片处理和特征提取详解,文中向大家分享了Python导入图片,将图像转化为二维矩阵,模糊化图片等Python对图像的操作,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • python项目导入open3d后报错ImportError:DLL load failed:找不到指定的模块问题

    python项目导入open3d后报错ImportError:DLL load failed:找不到

    这篇文章主要介绍了python项目导入open3d后报错ImportError:DLL load failed:找不到指定的模块问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Python使用Selenium+BeautifulSoup爬取淘宝搜索页

    Python使用Selenium+BeautifulSoup爬取淘宝搜索页

    这篇文章主要为大家详细介绍了Python使用Selenium+BeautifulSoup爬取淘宝搜索页,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Python轻松实现将Excel表格完美转换为Word

    Python轻松实现将Excel表格完美转换为Word

    数据管理与转换在日常工作中扮演着重要角色,本文将教你如何使用 Spire.XLS for Python 和 Spire.Doc for Python 库,轻松将 Excel 数据导出并在 Word 中生成美观的表格,感兴趣的小伙伴可以了解下
    2026-02-02
  • Python中的单下划线和双下划线使用场景详解

    Python中的单下划线和双下划线使用场景详解

    这篇文章主要介绍了Python中的单下划线和双下划线使用场景详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Python 类型注解核心用法指南

    Python 类型注解核心用法指南

    本文主要介绍了Python中的类型注解功能,它可以帮助提高代码的可读性与维护性,类型注解可以应用于变量、函数和类,分别提供类型提示而不会强制类型校验,文章同时也介绍了不同类型注解的用法及存储机制,并强调了使用注解时需要注意的一些事项
    2026-05-05
  • Python OpenCV实现边缘检测

    Python OpenCV实现边缘检测

    这篇文章主要为大家详细介绍了Python OpenCV实现边缘检测,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Python基础之元编程知识总结

    Python基础之元编程知识总结

    很多人不理解“元编程”是个什么东西,关于它也没有一个十分准确的定义.这篇文章要说的是Python里的元编程,实际上也不一定就真的符合“元编程”的定义.只不过我无法找到一个更准确的名字来代表这篇文章的主题,所以就借了这么一个名号,需要的朋友可以参考下
    2021-05-05
  • Python全景系列之数据类型大盘点

    Python全景系列之数据类型大盘点

    这篇文章主要为大家介绍了Python全景系列之数据类型的盘点解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05

最新评论