目录

第四十章:自动化脚本

本章目标

完成本章学习后,你将能够:

文件自动化

import os
import shutil
from pathlib import Path
 
# 批量重命名
for i, file in enumerate(os.listdir('.')):
    if file.endswith('.txt'):
        os.rename(file, f'doc_{i:03d}.txt')
 
# 按扩展名整理文件
for file in Path('.').iterdir():
    if file.is_file():
        ext = file.suffix[1:] or 'no_ext'
        os.makedirs(ext, exist_ok=True)
        shutil.move(str(file), f"{ext}/{file.name}")

处理Excel

import openpyxl
 
# 读取
wb = openpyxl.load_workbook('data.xlsx')
sheet = wb.active
print(sheet['A1'].value)
 
# 写入
wb = openpyxl.Workbook()
sheet = wb.active
sheet['A1'] = 'Hello'
sheet.append(['Data1', 'Data2'])
wb.save('output.xlsx')

发送邮件

import smtplib
from email.mime.text import MIMEText
 
def send_email(subject, body, to_email):
    msg = MIMEText(body)
    msg['Subject'] = subject
    msg['From'] = 'sender@example.com'
    msg['To'] = to_email
 
    with smtplib.SMTP('smtp.example.com', 587) as server:
        server.starttls()
        server.login('user', 'password')
        server.send_message(msg)

本章实战

1. 自动备份脚本 2. 数据报表生成 3. 定时任务调度

下一章:第四十一章:测试与调试