page contents

Python自动化:10个实用脚本提升工作效率

在日常工作中,我们常常会被繁琐重复的任务占据大量时间和精力。而Python作为一门功能强大的编程语言,凭借其丰富的库和简洁的语法,能够轻松实现各种任务的自动化。下面为你介绍10个实用的Python脚本,帮助你大幅提升工作效率。

attachments-2025-02-8JI8PiBS67abf677e0670.png在日常工作中,我们常常会被繁琐重复的任务占据大量时间和精力。而Python作为一门功能强大的编程语言,凭借其丰富的库和简洁的语法,能够轻松实现各种任务的自动化。下面为你介绍10个实用的Python脚本,帮助你大幅提升工作效率。

一、文件批量重命名
在整理文件时,批量重命名是常见需求。利用 os 库,可轻松完成这一任务。
import os
def batch_rename():
    path = 'your_folder_path'  # 文件夹路径
    for count, filename in enumerate(os.listdir(path)):
        dst = f"new_name_{str(count)}.txt"  # 新文件名格式
        src = f"{path}/{filename}"
        dst = f"{path}/{dst}"
        os.rename(src, dst)
if __name__ == "__main__":
    batch_rename()
这个脚本遍历指定文件夹下的所有文件,按顺序为它们重新命名,让文件管理更加有序。
二、自动发送邮件
使用 smtplib 和 email 库,能自动化发送邮件,特别适合定期发送报告等场景。
import smtplib
from email.mime.text import MIMEText
from email.header import Header
sender = 'your_email@example.com'
receivers = ['recipient_email@example.com']  # 接收者邮箱列表
message = MIMEText('邮件内容', 'plain', 'utf - 8')
message['From'] = Header('你的名字', 'utf - 8')
message['To'] = Header('接收者名字', 'utf - 8')
subject = '邮件主题'
message['Subject'] = Header(subject, 'utf - 8')
try:
    smtpObj = smtplib.SMTP('smtp.example.com', 587)  # SMTP服务器及端口
    smtpObj.starttls()
    smtpObj.login(sender, "your_password")
    smtpObj.sendmail(sender, receivers, message.as_string())
    print("邮件发送成功")
except smtplib.SMTPException:
    print("Error: 无法发送邮件")
只需配置好发件人、收件人、邮件内容和服务器信息,即可实现邮件自动发送。
三、数据备份脚本
数据安全至关重要,借助 shutil 库,可创建数据备份脚本。
import shutil
import time
source = 'source_folder_path'
destination = f'backup_{time.strftime("%Y%m%d%H%M%S")}.zip'
shutil.make_archive(destination[:-4], 'zip', source)
该脚本将指定源文件夹压缩成一个以当前时间命名的ZIP文件,完成数据备份,确保数据不丢失。
四、网页内容抓取
对于需要收集网络信息的工作,利用 requests 和 BeautifulSoup 库进行网页抓取。
import requests
from bs4 import BeautifulSoup
url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 提取标题
title = soup.title.string
print(f"网页标题: {title}")
# 提取所有链接
links = soup.find_all('a')
for link in links:
    print(link.get('href'))
此脚本可获取网页标题及所有链接,还能根据需求进一步解析网页内容,快速收集所需信息。
五、自动化办公文档处理(以Word为例)
处理Word文档时, python - docx 库能派上用场,如批量替换文本。
from docx import Document
def replace_text_in_docx(file_path, old_text, new_text):
    doc = Document(file_path)
    for para in doc.paragraphs:
        if old_text in para.text:
            para.text = para.text.replace(old_text, new_text)
    doc.save(file_path)
if __name__ == "__main__":
    replace_text_in_docx('example.docx', '旧文本', '新文本')
通过这个脚本,能快速在Word文档中进行文本替换,节省手动查找和修改的时间。
六、定时任务执行
使用 schedule 库,可设定任务在特定时间执行,如定时清理临时文件。
import schedule
import time
import os
def clean_temp_files():
    temp_folder = 'temp_folder_path'
    for file in os.listdir(temp_folder):
        file_path = os.path.join(temp_folder, file)
        try:
            if os.path.isfile(file_path):
                os.unlink(file_path)
        except Exception as e:
            print(f"删除 {file_path} 失败: {e}")
schedule.every().day.at("02:00").do(clean_temp_files)
while True:
    schedule.run_pending()
    time.sleep(1)
上述脚本设置每天凌晨2点自动清理临时文件夹,确保系统整洁。
七、图片批量处理(以调整尺寸为例)
处理大量图片时, Pillow 库能实现图片的批量处理。
from PIL import Image
import os
def resize_images():
    source_folder = 'source_images_folder'
    target_folder = 'target_images_folder'
    width = 800
    height = 600
    for filename in os.listdir(source_folder):
        if filename.endswith(('.jpg', '.jpeg', '.png')):
            img_path = os.path.join(source_folder, filename)
            img = Image.open(img_path)
            img = img.resize((width, height), Image.ANTIALIAS)
            new_img_path = os.path.join(target_folder, filename)
            img.save(new_img_path)
if __name__ == "__main__":
    resize_images()
这个脚本将指定文件夹下的图片批量调整为统一尺寸,方便图片管理和使用。
八、简单的数据库操作脚本(以SQLite为例)
对于日常数据存储和管理,使用 sqlite3 库操作SQLite数据库。
import sqlite3
# 连接数据库
conn = sqlite3.connect('example.db')
c = conn.cursor()
# 创建表
c.execute('''CREATE TABLE IF NOT EXISTS users
             (id INTEGER PRIMARY KEY AUTOINCREMENT,
             name TEXT,
             age INTEGER)''')
# 插入数据
c.execute("INSERT INTO users (name, age) VALUES ('Alice', 25)")
# 查询数据
c.execute("SELECT * FROM users")
rows = c.fetchall()
for row in rows:
    print(row)
# 提交更改并关闭连接

conn.commit()
conn.close()
此脚本展示了如何创建数据库表、插入数据和查询数据,满足基本的数据管理需求。
九、自动化命令行任务执行
通过 subprocess 库,可在Python脚本中执行命令行任务。
import subprocess
command = 'ls -l'  # Linux命令,Windows下可改为dir
result = subprocess.run(command, shell=True, capture_output=True, text=True)
print(result.stdout)
上述脚本执行 ls - l 命令(Windows下为 dir ),并输出结果,方便在Python中集成各种命令行工具。
十、日志分析脚本
处理日志文件时,Python可快速分析关键信息。
log_file = 'example.log'
error_count = 0
with open(log_file, 'r') as f:
    for line in f:
        if 'ERROR' in line:
            error_count += 1
            print(line.strip())
print(f"总共发现 {error_count} 个错误")
这个简单的脚本统计日志文件中包含 ERROR 的行数,并打印出错误行,帮助快速定位问题。
通过这10个实用的Python脚本,你可以将许多重复性工作自动化,从而节省大量时间和精力,让工作更加高效、轻松。在实际应用中,你还可以根据具体需求对这些脚本进行扩展和优化,使其更好地服务于工作。

更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2025-02-12 09:17
  • 阅读 ( 20 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
小柒
小柒

1734 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1734 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章