12个常用Python自动化脚本-你一定能用得到

1.脚本根据文件扩展名将文件分类到子目录中,来组织目录中的文件。它识别文件扩展名并将文件移动到适当的子目录中,这对于整理下载文件夹或组织特定项目的文件非常有用。

# Python脚本,用于根据文件扩展名对目录中的文件进行排序

import os
from shutil import move

def sort_files(directory_path):
    for filename in os.listdir(directory_path):
        if os.path.isfile(os.path.join(directory_path, filename)):
            file_extension = filename.split('.')[-1]
            destination_directory = os.path.join(directory_path, file_extension)
            if not os.path.exists(destination_directory):
                os.makedirs(destination_directory)
            move(os.path.join(directory_path, filename), os.path.join(destination_directory, filename))
 

2.脚本用于在指定目录中搜索和删除空文件夹,维护干净整洁的文件夹结构,特别是在处理大量数据集时。

# Python脚本,用于删除目录中的空文件夹

import os

def remove_empty_folders(directory_path):
    for root, dirs, files in os.walk(directory_path, topdown=False):
        for folder in dirs:
            folder_path = os.path.join(root, folder)
            if not os.listdir(folder_path):
                os.rmdir(folder_path)
 

3.脚本允许同时批量重命名目录中的多个文件。它以旧名称和新名称作为输入,并将所有匹配的文件中的旧名称替换为新名称。

# Python脚本,用于批量重命名目录中的文件

import os

def rename_files(directory_path, old_name, new_name):
    for filename in os.listdir(directory_path):
        if old_name in filename:
            new_filename = filename.replace(old_name, new_name)
            os.rename(os.path.join(directory_path, filename), os.path.join(directory_path, new_filename))
 

4.脚本利用requests和BeautifulSoup库来抓取网站的数据。它获取网页内容并使用BeautifulSoup解析HTML,可以自定义该脚本以提取诸如标题、产品信息或价格等特定数据。

# 使用Python进行网页抓取的脚本,以从网站中提取数据

import requests
from bs4 import BeautifulSoup

def scrape_data(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    # 在此处编写代码,从网站中提取相关数据
 

5.脚本旨在从网站批量下载图片,它假设该网站提供一个返回图片URL数组的JSON API。该脚本然后遍历这些URL并下载图片,将其保存到指定的目录中。

# Python脚本,用于从网站批量下载图片

import requests

def download_images(url, save_directory):
    response = requests.get(url)
    if response.status_code == 200:
        images = response.json()  # 假设API返回图片URL的JSON数组
        for index, image_url in enumerate(images):
            image_response = requests.get(image_url)
            if image_response.status_code == 200:
                with open(f"{save_directory}/image_{index}.jpg", "wb") as f:
                    f.write(image_response.content)
 

6.脚本使用POST请求以表单数据自动在网站上提交表单,可以通过提供URL和要提交的表单数据来自定义该脚本。

# Python脚本,用于自动在网站上提交表单

import requests

def submit_form(url, form_data):
    response = requests.post(url, data=form_data)
    if response.status_code == 200:
        # 在此处编写代码以处理表单提交后的响应
 

7.脚本读取文本文件并统计其中包含的单词数,可以用于快速分析文本文档的内容,或跟踪写作项目中的字数。

# Python脚本,用于统计文本文件中的单词数

def count_words(file_path):
    with open(file_path, 'r') as f:
        text = f.read()
        word_count = len(text.split())
    return word_count
 

8.脚本在文件中搜索特定文本并将其替换为所需文本,它对批量替换大型文本文件中的某些短语或更正错误非常有用。

# Python脚本,用于在文件中查找和替换文本

def find_replace(file_path, search_text, replace_text):
    with open(file_path, 'r') as f:
        text = f.read()
        modified_text = text.replace(search_text, replace_text)
    with open(file_path, 'w') as f:
        f.write(modified_text)
 

9.脚本生成指定长度的随机文本,可用于测试和模拟目的,甚至作为创作的随机内容源。

# Python脚本,用于生成随机文本

import random
import string

def generate_random_text(length):
    letters = string.ascii_letters + string.digits + string.punctuation
    random_text = ''.join(random.choice(letters) for i in range(length))
    return random_text
 

10.脚本能够向收件人列表发送个性化电子邮件,可以自定义发件人的电子邮件、密码、主题、正文以及收件人列表。请注意,出于安全考虑,使用Gmail时应使用应用专用密码。

# Python脚本,用于向收件人列表发送个性化电子邮件

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

def send_personalized_email(sender_email, sender_password, recipients, subject, body):

    server = smtplib.SMTP('smtp.gmail.com', 587)
    server.starttls()
    server.login(sender_email, sender_password)

    for recipient_email in recipients:
        message = MIMEMultipart()
        message['From'] = sender_email
        message['To'] = recipient_email
        message['Subject'] = subject
        message.attach(MIMEText(body, 'plain'))
        server.sendmail(sender_email, recipient_email, message.as_string())

    server.quit()
 

11.脚本允许发送带有附件的电子邮件,只需提供发件人的电子邮件、密码、收件人的电子邮件、主题、正文以及要附加的文件的路径即可。

# Python脚本,用于发送带有附件的电子邮件

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders

def send_email_with_attachment(sender_email, sender_password, recipient_email, subject, body, file_path):

    server = smtplib.SMTP('smtp.gmail.com', 587)
    server.starttls()
    server.login(sender_email, sender_password)

    message = MIMEMultipart()
    message['From'] = sender_email
    message['To'] = recipient_email
    message['Subject'] = subject

    message.attach(MIMEText(body, 'plain'))

    with open(file_path, "rb") as attachment:
        part = MIMEBase('application', 'octet-stream')
        part.set_payload(attachment.read())
        encoders.encode_base64(part)
        part.add_header('Content-Disposition', f"attachment; filename= {file_path}")
        message.attach(part)

    server.sendmail(sender_email, recipient_email, message.as_string())
    server.quit()
 

12.脚本基于指定日期发送自动电子邮件提醒,对设置重要任务或事件的提醒非常有用,确保不会错过最后期限

# Python脚本,用于发送自动电子邮件提醒

import smtplib
from email.mime.text import MIMEText
from datetime import datetime, timedelta

def send_reminder_email(sender_email, sender_password, recipient_email, subject, body, reminder_date):

    server = smtplib.SMTP('smtp.gmail.com', 587)
    server.starttls()
    server.login(sender_email, sender_password)

    now = datetime.now()
    reminder_date = datetime.strptime(reminder_date, '%Y-%m-%d')

    if now.date() == reminder_date.date():

        message = MIMEText(body, 'plain')
        message['From'] = sender_email
        message['To'] = recipient_email
        message['Subject'] = subject

        server.sendmail(sender_email, recipient_email, message.as_string())

    server.quit()
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值