• Python脚本:让工作自动化起来


          


    Python是一种流行的编程语言,以其简洁和易读性而闻名。它提供了大量的库和模块,使其成为自动化各种任务的绝佳选择。

    本文将探讨Python脚本及其代码,可以帮助您自动化各种任务并提高工作效率。无论您是开发人员、数据分析师还是只是想简化工作流程的人,这些脚本都能满足您的需求。

    一、自动化文件管理

    1.在目录中对文件进行排序  

    1. # Python脚本用于按文件扩展名对目录中的文件进行排序
    2. import os
    3. from shutil import move
    4. def sort_files(directory_path):
    5.     for filename in os.listdir(directory_path):
    6.         if os.path.isfile(os.path.join(directory_path, filename)):
    7.             file_extension = filename.split('.')[-1]
    8.             destination_directory = os.path.join(directory_path, file_extension)
    9.             if not os.path.exists(destination_directory):
    10.                 os.makedirs(destination_directory)
    11.                 move(os.path.join(directory_path, filename),
    12.                      os.path.join(destination_directory, filename)

    这个Python脚本通过根据文件扩展名将文件分类到子目录中来整理目录中的文件。

    它识别文件扩展名并将文件移动到相应的子目录中。这对于清理下载文件夹或为特定项目组织文件非常有用。

    2.删除空文件

    1. # 用Python脚本删除目录中的空文件夹
    2. import os
    3. def remove_empty_folders(directory_path):
    4.     for root, dirs, files in os.walk(directory_path, topdown=False):
    5.         for folder in dirs:
    6.             folder_path = os.path.join(root, folder)
    7.             if not os.listdir(folder_path):
    8.                 os.rmdir(folder_path)

    此Python脚本在指定目录中搜索并删除空文件夹。它可以帮助您保持整洁的文件夹结构,特别是在处理大量数据集时。

    3.重命名多个文件  

    1. # 用Python脚本重命名目录中的多个文件
    2. import os
    3. def rename_files(directory_path, old_name, new_name):
    4.     for filename in os.listdir(directory_path):
    5.         if old_name in filename:
    6.             new_filename = filename.replace(old_name, new_name)
    7.             os.rename(os.path.join(directory_path, filename),
    8.                       os.path.join(directory_path, new_filename))

    这个Python脚本允许您同时重命名目录中的多个文件。它接受旧名称和新名称作为输入,并将符合指定条件的所有文件的旧名称替换为新名称。

    二、用Python进行网络爬虫

    1.从网站提取数据

    1.  # 用于网页抓取的Python脚本,从一个网站中提取数据。
    2. import requests
    3. from bs4 import BeautifulSoup
    4. def scrape_data(url):
    5.     response = requests.get(url)
    6.     soup = BeautifulSoup(response.text, 'html.parser')
    7.     # 提取网站中相关数据的代码在这里

    这个Python脚本利用requests和BeautifulSoup库从一个网站上爬取数据。它获取网页的内容,并使用BeautifulSoup解析HTML。

    您可以自定义脚本以提取特定的数据,如标题、产品信息或价格。

    2.批量下载图片  

    1. # 从网站批量下载图像的Python脚本
    2. import requests
    3. def download_images(url, save_directory):
    4.     response = requests.get(url)
    5.     if response.status_code == 200:
    6.         images = response.json() # 假设API返回一个图片URL的JSON数组
    7.         for index, image_url in enumerate(images):
    8.             image_response = requests.get(image_url)
    9.             if image_response.status_code == 200:
    10.                 with open(f"{save_directory}/image_{index}.jpg""wb"as f:
    11.                     f.write(image_response.content)

    这个Python脚本旨在从网站批量下载图片。它假设该网站提供一个返回图像URL数组的JSON API。

    然后,脚本遍历这些URL并下载图片,将其保存到指定目录中。

    3.自动化表单提交  

    1. # 用Python脚本自动化网站上的表单提交
    2. import requests
    3. def submit_form(url, form_data):
    4.     response = requests.post(url, data=form_data)
    5.     if response.status_code == 200:
    6.         # 在表单提交后处理响应的代码放在这里

    这个Python脚本通过发送带有表单数据的POST请求来自动化网站上的表单提交。

    您可以通过提供URL和需要提交的必要表单数据来定制脚本。

    三、文本处理和操作

    1.在文本文件中计算单词数  

    1. # Python脚本用于统计文本文件中的单词数量
    2. def count_words(file_path):
    3.     with open(file_path, 'r'as f:
    4.         text = f.read()
    5.         word_count = len(text.split())
    6.         return word_count

    这个 Python 脚本读取一个文本文件并计算其中包含的单词数量。

    它可以用于快速分析文本文档的内容,或者跟踪写作项目中的字数统计。

    2.查找和替换文本  

    1. # 在文件中查找和替换文本的Python脚本
    2. def find_replace(file_path, search_text, replace_text):
    3.     with open(file_path, 'r'as f:
    4.         text = f.read()
    5.         modified_text = text.replace(search_text, replace_text)
    6.     with open(file_path, 'w'as f:
    7.         f.write(modified_text)

    这个Python脚本在文件中搜索特定文本,并将其替换为所需的文本。

    它可以帮助批量替换某些短语或纠正大型文本文件中的错误。

    3.生成随机文本  

    1. # 生成随机文本的Python脚本
    2. import random
    3. import string
    4. def generate_random_text(length):
    5.     letters = string.ascii_letters + string.digits + string.punctuation
    6.     random_text = ''.join(random.choice(letters) for i in range(length))
    7.     return random_text

    这个Python脚本生成指定长度的随机文本。它可以用于测试和模拟,甚至可以作为创意写作的随机内容来源。

    四、自动化电子邮件

    1.发送个性化电子邮件

    1. # 用Python脚本向收件人列表发送个性化电子邮件
    2. import smtplib
    3. from email.mime.text import MIMEText
    4. from email.mime.multipart import MIMEMultipart
    5. def send_personalized_email(sender_email, sender_password, recipients, subject, body):
    6.     server = smtplib.SMTP('smtp.gmail.com'587)
    7.     server.starttls()
    8.     server.login(sender_email, sender_password)
    9.     for recipient_email in recipients:
    10.         message = MIMEMultipart()
    11.         message['From'] = sender_email
    12.         message['To'] = recipient_email
    13.         message['Subject'] = subject
    14.         message.attach(MIMEText(body, 'plain'))
    15.         server.sendmail(sender_email, recipient_email, message.as_string())
    16.         server.quit()

    此Python脚本使您能够向一组收件人发送个性化的电子邮件。您可以自定义发件人的电子邮件、密码、主题、正文以及收件人电子邮件列表。

    请注意,出于安全原因,在使用Gmail时应使用特定于应用程序的密码。

    2.发送电子邮件附件  

    1. # 使用Python脚本发送带有文件附件的电子邮件
    2. import smtplib
    3. from email.mime.multipart import MIMEMultipart
    4. from email.mime.base import MIMEBase
    5. from email import encoders
    6. def send_email_with_attachment(sender_email, sender_password, recipient_email, subject, body, file_path):
    7.     server = smtplib.SMTP('smtp.gmail.com'587)
    8.     server.starttls()
    9.     server.login(sender_email, sender_password)
    10.     message = MIMEMultipart()
    11.     message['From'] = sender_email
    12.     message['To'] = recipient_email
    13.     message['Subject'] = subject
    14.     message.attach(MIMEText(body, 'plain'))
    15.     with open(file_path, "rb"as attachment:
    16.         part = MIMEBase('application''octet-stream')
    17.         part.set_payload(attachment.read())
    18.         encoders.encode_base64(part)
    19.         part.add_header('Content-Disposition', f"attachment; filename= {file_path}")
    20.         message.attach(part)
    21.     server.sendmail(sender_email, recipient_email, message.as_string())
    22.     server.quit()

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

    3.自动电子邮件提醒  

    1. # Python脚本发送自动电子邮件提醒
    2. import smtplib
    3. from email.mime.text import MIMEText
    4. from datetime import datetime, timedelta
    5. def send_reminder_email(sender_email, sender_password, recipient_email, subject, body, reminder_date):
    6.     server = smtplib.SMTP('smtp.gmail.com'587)
    7.     server.starttls()
    8.     server.login(sender_email, sender_password)
    9.     now = datetime.now()
    10.     reminder_date = datetime.strptime(reminder_date'%Y-%m-%d')
    11.     if now.date() == reminder_date.date():
    12.         message = MIMEText(body, 'plain')
    13.         message['From'] = sender_email
    14.         message['To'] = recipient_email
    15.         message['Subject'] = subject
    16.         server.sendmail(sender_email, recipient_email, message.as_string())
    17.         server.quit()

    此Python脚本根据指定日期发送自动电子邮件提醒。它对于设置重要任务或事件的提醒非常有用,确保您永远不会错过截止日期。

  • 相关阅读:
    大厂产品为何集体下架
    我的学习方法论
    GBase8s数据库FOR UPDATE 子句
    【Python21天学习挑战赛】-列表 & 元组 & range
    【Redis】List的常用命令以及常用场景
    Qt listWidget 详细分析
    JUC编程之锁详解
    UEC++ day6
    龙蛇入笔,身不由己,码农出书以及无法控制的表达欲
    PHP:Math 函数
  • 原文地址:https://blog.csdn.net/Rocky006/article/details/133988076