💖 欢迎来到我的博客! 非常高兴能在这里与您相遇。在这里,您不仅能获得有趣的技术分享,还能感受到轻松愉快的氛围。无论您是编程新手,还是资深开发者,都能在这里找到属于您的知识宝藏,学习和成长。
🔍 博客内容包括:
- Java核心技术与微服务:涵盖Java基础、JVM、并发编程、Redis、Kafka、Spring等,帮助您全面掌握企业级开发技术。
- 大数据技术:涵盖Hadoop(HDFS)、Hive、Spark、Flink、Kafka、Redis、ECharts、Zookeeper等相关技术。
- 开发工具:分享常用开发工具(IDEA、Git、Mac、Alfred、Typora等)的使用技巧,提升开发效率。
- 数据库与优化:总结MySQL及其他常用数据库技术,解决实际工作中的数据库问题。
- Python与大数据:专注于Python编程语言的深度学习,数据分析工具(如Pandas、NumPy)和大数据处理技术,帮助您掌握数据分析、数据挖掘、机器学习等技术。
- 数据结构与算法:总结数据结构与算法的核心知识,提升编程思维,帮助您应对大厂面试挑战。
🌟 我的目标:持续学习与总结,分享技术心得与解决方案,和您一起探索技术的无限可能!在这里,我希望能与您共同进步,互相激励,成为更好的自己。
📣 欢迎订阅本专栏,与我一起在这个知识的海洋中不断学习、分享和成长!💻🚀
📍版权声明:本博客所有内容均为原创,遵循CC 4.0 BY-SA协议,转载请注明出处。
目录
1. 自动化文件管理
1.1 批量重命名文件
1.2 自动分类文件
2. 自动化定时任务
2.1 使用 schedule 库定时执行任务
2.2 使用 APScheduler 执行复杂定时任务
3. 自动化发送邮件
4. 自动化网络爬虫
5. 自动化数据处理
5.1 使用 Pandas 库处理数据
5.2 定时备份数据库
6. 自动化图像处理
7. 自动化 Web 操作
总结
1. 自动化文件管理
1.1 批量重命名文件
假设你有一批文件,文件名需要按一定规则批量修改,可以使用 os
和 re
库来实现。
python">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 = Falsefor 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 = Truebreakif not moved:print(f"文件 {filename} 没有分类!")print("文件分类完成!")
2. 自动化定时任务
2.1 使用 schedule
库定时执行任务
schedule
是一个 Python 库,专门用于调度定时任务。你可以使用它来设置定时执行的任务。
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
是一个功能更强大的调度任务库,支持多种调度方式。
python">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
库,可以自动化发送邮件,比如定时向客户或团队成员发送报告。
python">import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipartdef send_email(subject, body, to_email):from_email = "your_email@gmail.com"password = "your_password"# 设置邮件内容msg = MIMEMultipart()msg['From'] = from_emailmsg['To'] = to_emailmsg['Subject'] = subjectmsg.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
库,可以自动化爬取网页内容,并将其存储到文件中。
python">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
库来实现数据的读取、处理和导出。
python">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 脚本定时备份数据库,减少人工干预。
python">import mysql.connector
import datetime
import osdef 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
库。
python">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)) # 调整大小为 800x600img.save(os.path.join(image_directory, f"resized_{filename}"))print("图像处理完成!")
7. 自动化 Web 操作
如果你需要自动化与网页的交互,可以使用 Selenium
来模拟浏览器操作。
python">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
等),你可以轻松实现文件管理、定时任务、邮件发送、网页爬取、数据处理等多种自动化任务。