在日常工作中,我们常常会被繁琐重复的任务占据大量时间和精力。而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)
# 提交更改并关闭连接
更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。
想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!