关键词

分享5个拿来即用的Python自动化脚本

在本文中,将分享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解析。

首先,确保你已经安装了requestsbeautifulsoup4

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的定时任务,常用的库包括scheduletime。下面是一个简单的例子,使用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) 使脚本每秒运行一次。你可以根据需要调整执行的时间间隔。

希望这些脚本可以帮助你轻松实现自动化任务!

本文链接:http://task.lmcjl.com/news/707.html

展开阅读全文