python自动化脚本:让工作自动化起来

news/2024/9/15 5:00:32/ 标签: python, 自动化, 开发语言, 数据分析

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

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

以下是9个最佳Python脚本,这些脚本可以帮助您自动化各种工作任务,提高工作效率:

1. 自动化文件管理

1.1 文件排序

  • 功能:按文件扩展名对目录中的文件进行排序,并将它们移动到相应的子目录中。
  • 示例代码
    python">import os
    from shutil import movedef 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))
    

1.2 删除空文件夹

  • 功能:删除指定目录中的空文件夹。
  • 示例代码
    python">import osdef 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)
    

1.3 重命名多个文件

  • 功能:根据提供的旧名称和新名称,批量重命名目录中的文件。
  • 示例代码
    python">import osdef 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))
    

2. 网页抓取与数据处理

2.1 网页数据抓取

  • 功能:从网站上抓取数据,如新闻标题、产品信息或价格等。
  • 示例代码
    python">import requests
    from bs4 import BeautifulSoupdef scrape_data(url):response = requests.get(url)soup = BeautifulSoup(response.text, 'html.parser')# 提取网站中相关数据的代码
    

2.2 批量下载图片

  • 功能:从网站批量下载图片,保存到指定目录。
  • 示例代码
    python">import requestsdef download_images(url_list, save_directory):for url in url_list:image_response = requests.get(url)if image_response.status_code == 200:filename = url.split('/')[-1]with open(os.path.join(save_directory, filename), "wb") as f:f.write(image_response.content)
    

3. 文本处理

3.1 拼写检查

  • 功能:检查并纠正文本中的拼写错误。
  • 示例代码
    python">from autocorrect import Spellerdef SpellChecker(data):spell = Speller(lang='en')correction = []for word in data.split():correction.append(spell(word))result = ' '.join(correction)return result
    

3.2 查找和替换文本

  • 功能:在文件中查找并替换特定的文本。
  • 示例代码
    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)
    

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


这个Python脚本通过发送带有表单数据的POST请求来自动化网站上的表单提交。您可以通过提供URL和需要提交的必要表单数据来定制脚本。![](https://i-blog.csdnimg.cn/blog_migrate/6e9eb9bce60df345228665a93df16fcb.png)三、文本处理和操作**1.在文本文件中计算单词数**

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


这个 Python 脚本读取一个文本文件并计算其中包含的单词数量。它可以用于快速分析文本文档的内容,或者跟踪写作项目中的字数统计。**2.查找和替换文本**

# 在文件中查找和替换文本的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)


这个Python脚本在文件中搜索特定文本,并将其替换为所需的文本。它可以帮助批量替换某些短语或纠正大型文本文件中的错误。**3.生成随机文本**

# 生成随机文本的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


这个Python脚本生成指定长度的随机文本。它可以用于测试和模拟,甚至可以作为创意写作的随机内容来源。四、自动化电子邮件**1.发送个性化电子邮件**

# 用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()


此Python脚本使您能够向一组收件人发送个性化的电子邮件。您可以自定义发件人的电子邮件、密码、主题、正文以及收件人电子邮件列表。请注意,出于安全原因,在使用Gmail时应使用特定于应用程序的密码。**2.发送电子邮件附件**

# 使用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()


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

# 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()


此Python脚本根据指定日期发送自动电子邮件提醒。它对于设置重要任务或事件的提醒非常有用,确保您永远不会错过截止日期。![](https://i-blog.csdnimg.cn/blog_migrate/0ad965d7f413929ffa7e5eb1b96cca68.png)五、自动化Excel电子表格**1.读写Excel**

http://www.ppmy.cn/news/1518792.html

相关文章

跨境多账号登录如何防止IP、cookie和设备关联?

在当今数字化时代,拥有某个平台的多个账号是必要的,但如何防止这些账号之间产生关联,进而导致封号,却是一个需要谨慎对待的问题。 一、 多账号关联的主要因素 1. IP地址 2. Cookie和缓存 3. 设备指纹 二、如何防关联&#xff…

Vue——认识day06_class与style绑定

在Vue中,可以使用v-bind指令来将CSS样式动态地绑定到HTML元素上。有两种方式可以实现CSS与style的绑定: 对象语法:可以将一个包含CSS属性和值的对象传递给v-bind,将对象的属性与HTML元素的style属性进行绑定。例如: …

20.神经网络 - 搭建小实战和 Sequential 的使用

神经网络 - 搭建小实战和 Sequential 的使用 在 PyTorch 中,Sequential 是一个容器(container)类,用于构建神经网络模型。它允许你按顺序(sequential)添加不同的网络层,并将它们串联在一起&…

手机FM LNA方案设计

一 概述 关于手机FM的使用,较为传统的则是在打开FM应用前先插入有线耳机才能使用FM应用。然而随着智能手机的进步以及有线耳机日益被无线蓝牙耳机所代替,内置FM LNA方案被应用的越来越多,无需插入有线耳机,复用例如GSM天线也能实…

JavaScript初级——键盘事件

1、 onkeydown —— 按键被按下 —— 如果一直按着某个键不松手,则事件会一直触发 —— 连续触发时,第一次和第二次之间会间隔稍微长一点,其他的会非常的快,这种设计是为了放置误操作的发生 2、 onkeyup —— 按键被松…

Substance 3D Stager for Mac/Win:高效三维场景设计利器

Substance 3D Stager是Adobe推出的一款专为Mac和Windows用户设计的三维场景设计和渲染软件,它以其高效、直观的特点,在数字艺术、游戏开发、影视特效等领域赢得了广泛的认可。 核心功能 直观的操作界面:Substance 3D Stager提供了优秀的视觉…

NTP时间服务器是什么?功能是什么?京准电钟

NTP时间服务器是什么?功能是什么?京准电钟 NTP时间服务器是什么?功能是什么?京准电钟 时间同步技术必定将是整个大数据处理系统的重要支撑和保障。时间同步技术使数据产生与处理系统的所有节点具有全局的、统一的标准时间&#x…

让自家的智能语音助手实现todo任务的添加

我家的树莓派在成为了“智能语音助手”后,经过rasa学习训练,已经可以帮忙查日期/时间,查天气预报,进行一些简单的闲聊。但是,我希望它的功能还可以再强大些,比如说,可以帮我记录todo任务。为了实…

猫头虎分享:Python库 TensorFlow 的简介、安装、用法详解入门教程

猫头虎分享:Python库 TensorFlow 的简介、安装、用法详解入门教程 🐯 摘要 今天猫头虎带大家走进 人工智能 的核心领域,深入探讨 TensorFlow 这个强大的 Python库。从 TensorFlow 的基础简介到详细的安装和用法,这篇教程将带你从…

小白学深度学习:知识蒸馏研究综述

为了能够在低资源设备上运行深度学习模型,需要研发高效的小规模网络。知识蒸馏是获取高效小规模网络的一种新兴方法,其主要思想是将学习能力强的复杂教师模型中的“知识”迁移到简单的学生模型中。 知识蒸馏介绍 知识蒸馏是一种教师-学生(Teacher-Stud…

(C++ STL)vector类的简单模拟实现与源码展示

vector类的简单模拟实现 一、前言二、vector 的成员变量三、vector 部分函数实现size、capacityreserveresizeinsert 与注意事项erase构造、析构、赋值拷贝 四、vector 源代码 以下代码环境为 VS2022 C。 一、前言 vector类 本质上就是数据结构中的顺序表。(可参考&#xff1…

Python中的“for循环”:探索其无限潜力

引言 for循环是任何Python程序员工具箱中的必备技能之一。无论是在处理数据时需要遍历数组,还是在编写Web应用时循环处理请求,亦或是进行复杂的算法实现,for循环都能派上大用场。通过掌握for循环的不同用法,我们可以更高效地解决…

谷粒商城实战笔记-269~271-商城业务-订单服务-bug修改

文章目录 一,269-商城业务-订单服务-bug修改二,270-商城业务-订单服务-订单确认页渲染三,271-商城业务-订单服务-订单确认页库存查询四,272-商城业务-订单服务-订单确认页模拟运费效果 一,269-商城业务-订单服务-bug修…

深度学习100问18:什么是负采样

嘿,负采样就像是一个巧妙的“偷懒小妙招”,在自然语言处理的世界里大显身手呢! 一、定义及原理 想象一下,你在训练一个语言小魔法师,它的任务是搞清楚词和词之间的关系。就像在 Skip-gram 模型里,要猜出…

JAVA如何使用反射读取注解

在Java中,反射是一种强大的机制,它允许程序在运行时取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。使用反射读取注解是Java注解应用的重要部分。以下将详细介绍如何使用Java反射读取注解,并提供相应的代码例子和运…

浅谈【数据结构】图-图的概念

目录 1、图 1.1图的分类 1.2路径 1.3连通图 2、图的存储结构 2.1数组表示法 谢谢帅气美丽且优秀的你看完我的文章还要点赞、收藏加关注 没错,说的就是你,不用再怀疑!!! 希望我的文章内容能对你有帮助&#xff0c…

华为手机数据丢失如何恢复?

在智能手机普及的今天,华为手机凭借其卓越的性能和用户体验赢得了众多用户的青睐。然而,在使用过程中,我们难免会遇到数据丢失或误删除的情况。面对这一困境,许多用户可能会感到束手无策。别担心,本文将为你提供一份全…

分享一个基于Python的广东热门旅游数据可视化分析系统flask毕设(源码、调试、LW、开题、PPT)

💕💕作者:计算机源码社 💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流&…

安装vue-cli2.0并创建项目

文章目录 1 安装node2 安装vue-cli3 创建基于webpack模板的项目4 项目结构 1 安装node 之前写的博客中介绍了如何安装:NodeJS的安装【windows】。安装完毕后,可以在命令行中输入node -v和npm -v,若出现版本号,则安装成功。 2 安…

Golang 读取文件

GoLang读取文件需要用到os类去打开文件,然后再用其他方式分析文件里的内容。打开文件比较简单,使用os.Open就可以了,记住用defer关闭就行。但是读取文件内容就头疼了,以文本文件为例子,就有各种方式 读取到byte数组 首…