在本文中,将分享10个可以立即拿来使用的Python自动化脚本,这些脚本可以帮助你简化工作流程,提高工作效率。
环境准备
首先,确保你的电脑上已经安装了Python环境。安装Python方法详见:Python环境搭建方法。
1. 批量重命名文件
import os
def batch_rename(file_path, new_name):
files = os.listdir(file_path)
for index, file in enumerate(files):
file_extension = os.path.splitext(file)[1]
new_file_name = f"{new_name}_{index}{file_extension}"
os.rename(os.path.join(file_path, file), os.path.join(file_path, new_file_name))
# 使用示例
batch_rename("/path/to/your/files", "new_file_name")
2:自动发送邮件
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
def send_email(sender_email, receiver_email, subject, message):
smtp_server = 'smtp.example.com'
port = 587
password = 'your_email_password'
msg = MIMEMultipart()
msg['From'] = sender_email
msg['To'] = receiver_email
msg['Subject'] = subject
msg.attach(MIMEText(message, 'plain'))
server = smtplib.SMTP(smtp_server, port)
server.starttls()
server.login(sender_email, password)
server.send_message(msg)
server.quit()
# 使用示例
send_email('sender@example.com', 'receiver@example.com', 'Test Email', 'This is a test email')
3.文件备份
当涉及到备份文件时,可以使用Python中的shutil
模块来执行备份操作。以下是一个简单的备份脚本代码示例,你可以根据自己的需求进行定制:
import shutil
import os
import datetime
def backup(source_folder, destination_folder):
# 检查源文件夹是否存在
if not os.path.exists(source_folder):
print(f"Error: Source folder '{source_folder}' does not exist.")
return
# 创建备份文件夹(如果不存在)
if not os.path.exists(destination_folder):
os.makedirs(destination_folder)
# 生成备份文件名,使用当前日期和时间
timestamp = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
backup_filename = f"backup_{timestamp}.zip"
# 构建备份文件的完整路径
backup_path = os.path.join(destination_folder, backup_filename)
try:
# 使用shutil打包源文件夹并保存为zip文件
shutil.make_archive(backup_path[:-4], 'zip', source_folder)
print(f"Backup successful. Backup saved to: {backup_path}")
except Exception as e:
print(f"Error during backup: {e}")
if __name__ == "__main__":
# 指定源文件夹和备份文件夹
source_folder = "/path/to/source_folder"
destination_folder = "/path/to/backup_folder"
# 执行备份
backup(source_folder, destination_folder)
请替换/path/to/source_folder
和/path/to/backup_folder
为实际的源文件夹和备份文件夹的路径。这个脚本将源文件夹的内容打包成一个zip文件,然后保存到指定的备份文件夹中。备份文件的命名格式为backup_YYYYMMDDHHMMSS.zip
,其中YYYYMMDDHHMMSS是当前日期和时间。
4.数据抓取
当涉及到数据抓取,常用的工具是requests
库,它是一个简单且功能强大的HTTP库。以下是一个基本的Python数据抓取脚本的例子,使用requests
库和BeautifulSoup
进行HTML解析。
首先,确保你已经安装了requests
和beautifulsoup4
:
pip install requests beautifulsoup4
然后,可以使用以下脚本作为起点:
import requests
from bs4 import BeautifulSoup
def fetch_data(url):
# 发送HTTP请求获取网页内容
response = requests.get(url)
# 检查请求是否成功
if response.status_code == 200:
# 使用BeautifulSoup解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')
# 在这里根据实际情况提取你需要的数据
# 以下是一个示例,假设目标数据在网页的<span>标签中
data_elements = soup.find_all('span', class_='your_data_class')
# 打印提取的数据
for element in data_elements:
print(element.text)
else:
print(f"Failed to fetch data. Status code: {response.status_code}")
if __name__ == "__main__":
# 替换为你要抓取的网址
target_url = "https://example.com"
fetch_data(target_url)
在这个脚本中,fetch_data
函数接受一个URL作为参数,发送HTTP GET请求获取网页内容,然后使用BeautifulSoup解析HTML。你需要根据实际情况修改选择器和提取数据的逻辑。
5. 定时任务
当涉及到Python的定时任务,常用的库包括schedule
和time
。下面是一个简单的例子,使用schedule
库来创建一个每隔一分钟执行一次的定时任务脚本:
首先,你需要安装 schedule
库:
pip install schedule
然后,可以使用以下Python脚本:
import schedule
import time
def job():
print("定时任务执行中...")
# 每隔一分钟执行一次任务
schedule.every(1).minutes.do(job)
while True:
schedule.run_pending()
time.sleep(1)
这个脚本定义了一个 job
函数,你可以在这个函数中编写你想要定时执行的任务。schedule.every(1).minutes.do(job)
表示每隔一分钟执行一次 job
函数。
schedule.run_pending()
用于检查是否有要执行的任务,time.sleep(1)
使脚本每秒运行一次。你可以根据需要调整执行的时间间隔。
希望这些脚本可以帮助你轻松实现自动化任务!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:分享5个拿来即用的Python自动化脚本 - Python技术站