当前位置: 首页 > news >正文

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

      


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

本文将探讨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)

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

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

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)

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

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

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

二、用Python进行网络爬虫

1.从网站提取数据

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

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

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

2.批量下载图片  

# 从网站批量下载图像的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)

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

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

3.自动化表单提交  

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

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

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

三、文本处理和操作

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.punctuationrandom_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_emailmessage['To'] = recipient_emailmessage['Subject'] = subjectmessage.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_emailmessage['To'] = recipient_emailmessage['Subject'] = subjectmessage.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_emailmessage['To'] = recipient_emailmessage['Subject'] = subjectserver.sendmail(sender_email, recipient_email, message.as_string())server.quit()

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

相关文章:

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

Python是一种流行的编程语言,以其简洁和易读性而闻名。它提供了大量的库和模块,使其成为自动化各种任务的绝佳选择。 本文将探讨Python脚本及其代码,可以帮助您自动化各种任务并提高工作效率。无论您是开发人员、数据分析师还是只是想简化工…...

香港科技大学广州|可持续能源与环境学域博士招生宣讲会—广州大学城专场!!!(暨全额奖学金政策)

香港科技大学广州|可持续能源与环境学域博士招生宣讲会—广州大学城专场!!!(暨全额奖学金政策) “面向未来改变游戏规则的——可持续能源与环境学域” ���专注于能源环…...

uni-app:多种方法写入图片路径

一、文件在前端文件夹中 1、相对路径引用 从当前文件所在位置开始寻找图片文件的路径。../../ 表示返回两级目录,即从当前文件所在的 wind.vue 所在的位置开始向上回退两级。接着,进入 static 目录,再进入 look 目录,最后定位到 …...

共谋工业3D视觉发展,深眸科技以自研解决方案拓宽场景应用边界

随着中国工业领域自动化程度逐渐攀升,“机器换人”这一需求进一步提升。在传统2D工业视觉易受环境光干扰、无法进一步获取物体深度信息的限制条件下,工业3D视觉凭借着更强的空间和深度感知能力,以及通过点云数据获取物体距离和三维坐标信息的…...

前端面试基础面试题——11

1.什么是 vue 的计算属性? 2.vue怎么实现页面的权限控制 3.watch的作用是什么 4.响应式系统的基本原理 5.vue-loader 是什么?使用它的用途有哪些? 6.vuex 工作原理详解 7.vuex 有哪几种属性? 8.什么是 MVVM? 9…...

SQL server中内连接和外连接的区别、表达(表的连接)

SQL server中内连接与外连接的区别、表达 区别表达内连接外连接 待续 首先,内连接和外连接都是对表的连接操作 区别 内连接:连接结果仅包含符合连接条件的行,其中至少一个属性是共同的;注意区分在嵌套查询时使用的any以及all的区…...

Linux中的shell外壳与权限(包含目录文件的权限,粘滞位的来龙去脉)

Linux中的shell外壳与权限[包含目录文件的权限,粘滞位的来龙去脉] 一.shell外壳的理解1.为什么需要有shell外壳的存在?2.什么是shell外壳?3.shell外壳的运行原理是什么?4.shell和bash的关系 二.Linux中的用户权限1.用户分类与身份切换1.用户分类2.root用户切换为普通用户1.s…...

力扣第45题 跳跃游戏II c++ 贪心算法

题目 45. 跳跃游戏 II 中等 相关标签 贪心 数组 动态规划 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i j] 处…...

1024动态

感叹一下当前行情 从事码农这些年今年是最难的一年...

中心胖AP(AD9430DN)+远端管理单元RU(R240D)+出口网关,实现组网

适用于:V200R008至V200R019C00版本的万兆中心胖AP(AD9431DN-24X)。 组网规划 RU管理:VLAN 100,网段为192.168.100.0/24。 无线业务:VLAN 3,SSID为“wlan-net”,密码为“88888888”…...

shell_45.Linux在脚本中使用 getopt

在脚本中使用 getopt $ cat extractwithgetopt.sh #!/bin/bash # Extract command-line options and values with getopt # set -- $(getopt -q ab:cd "$") # echo while [ -n "$1" ] do case "$1" in -a) echo "Found the -a opt…...

2023-8-20 CVTE视源股份后端开发实习一面

自我介绍 操作系统 1 有了解进程和线程的特点吗 2 在linux层面的话是怎么创建一个进程或者一个线程的(具体的系统调用的命令) 答: 3 如果是java层面讲,怎么去启动一个线程,要实现哪些方法呢 Thread类实现run()方法的…...

二叉树进阶

欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析(3) 目录 👉🏻二叉搜索树概念 &#x1f4…...

前端性能优化 - 虚拟滚动

一 需求背景 需求:在一个表格里面一次性渲染全部数据,不采用分页形式,每行数据都有Echart图插入。 问题:图表渲染卡顿 技术栈:Vue、Element UI 卡顿原因:页面渲染时大量的元素参与到了重排的动作中&#x…...

手写 Promise(1)核心功能的实现

一:什么是 Promise Promise 是异步编程的一种解决方案,其实是一个构造函数,自己身上有all、reject、resolve这几个方法,原型上有then、catch等方法。 Promise对象有以下两个特点。 (1)对象的状态不受…...

深入探究Java内存模型

文章目录 🌟 Java虚拟机内存模型🍊 一、方法区🍊 二、堆🎉 堆的基本概念🎉 堆的结构📝 新生代📝 老年代 🎉 堆的分配策略📝 对象优先分配📝 空间优先分配 &am…...

深度学习 | Pytorch深度学习实践 (Chapter 10、11 CNN)

十、CNN 卷积神经网络 基础篇 首先引入 —— 二维卷积:卷积层保留原空间信息关键:判断输入输出的维度大小特征提取:卷积层、下采样分类器:全连接 引例:RGB图像(栅格图像) 首先,老师…...

谈谈你对spring boot 3.0的理解

谈谈你对spring boot 3.0的理解 一,Spring Boot 3.0 的兼容性 Spring Boot 3.0 在兼容性方面做出了很大的努力,以支持存量项目和老项目。尽管如此,仍需注意以下几点: Java 版本要求:Spring Boot 3.0 要求使用 Java 1…...

【大数据】Hadoop

文章目录 概述Hadoop组成HDFSMapReduce写MapReduce程序(Hadoop streaming) YARNHadoop 启动 工作方式Hadoop的主从工作方式Hadoop的守护进程 运行模式本地运行模式伪分布式运行模式完全分布式运行模式 Hadoop高可用的解决方案ZooKeeper quorumZKFC 环境搭…...

Spring实例化源码解析之Bean的实例化(十二)

前言 本章开始分析finishBeanFactoryInitialization(beanFactory)方法,直译过来就是完成Bean工厂的初始化,这中间就是非lazy单例Bean的实例化流程。ConversionService在第十章已经提前分析了。重点就是最后一句,我们的bean实例化分析就从这里…...

财会行业学数据分析的价值分析

数字化转型背景下财会行业的变革需求财会行业正经历从传统核算向数据驱动的转型。企业财务数据量激增,人工处理效率低下,而数据分析能实现自动化处理、实时监控和深度洞察。例如,通过预测模型优化资金配置,或利用可视化工具快速识…...

量子机器学习:传统AI的颠覆者?

测试工程师的技术十字路口当量子计算以叠加态、纠缠态等特性突破经典计算边界时,其与人工智能融合催生的量子机器学习(QML) 正引发软件测试领域的范式变革。本文将从测试验证逻辑、工具链演进及质量保障体系三方面,剖析QML对传统A…...

『小程序/视频号直播』重磅上线|Tigshop JAVA v5.8.21 正式发布

Tigshop JAVA 全产品「小程序 / 视频号直播」功能重磅上线!本次 Tigshop开源商城系统JAVA v5.8.21 版本升级以私域直播为核心,优化商城服务体验、提升交易转化效率,同时全面修复已知问题,进一步提升系统稳定性,为商家打…...

购物团截图自动马赛克地址,手机号码

订单截图隐私信息自动脱敏工具一、工具概述 本工具是基于 Python OCR 技术开发的电商订单截图隐私自动脱敏工具,针对淘宝、京东、拼多多等主流电商平台订单截图,自动识别并对收货地址、手机号码等敏感信息进行马赛克打码,实现隐私保护。 工具…...

Pyplot在图表显示中文--配置文件法

希望所有 Matplotlib 图表都默认使用黑体、红色线条、圆形标记步骤1:找到/创建配置文件 运行以下代码找到配置文件路径: import matplotlib print(matplotlib.matplotlib_fname())假设输出:C:\Users\你的用户名\.matplotlib\matplotlibrc 如果…...

性价比高的佛山市办公家具工程哪家技术强

行业痛点分析当前,佛山市办公家具工程领域面临诸多技术挑战。在设计方面,普通办公桌造型老旧,难以满足现代企业对品牌形象与办公空间美学的需求,数据表明,超60%的企业认为现有办公家具档次不够,无法体现企业…...

无网环境方案:OpenClaw离线调用SecGPT-14B的实践

无网环境方案:OpenClaw离线调用SecGPT-14B的实践 1. 为什么需要离线AI助手 在网络安全和涉密机构的工作场景中,数据安全永远是第一位的。我最近参与了一个特殊项目,需要在完全断网的环境下部署AI助手,用于自动化安全巡检和日志分…...

揭秘.NET 10 + Blazor 9预发布架构图:微软内部泄露的3类新渲染管线对比(含性能基准测试数据+GC压力热力图)

第一章:揭秘.NET 10 Blazor 9预发布架构图:微软内部泄露的3类新渲染管线对比(含性能基准测试数据GC压力热力图) 微软近期在.NET Conf 2024 Preview Track中非正式披露了.NET 10与Blazor 9联合演进的核心架构蓝图,其中…...

Goreman RPC接口完全解析:远程控制进程的终极方案

Goreman RPC接口完全解析:远程控制进程的终极方案 【免费下载链接】goreman foreman clone written in go language 项目地址: https://gitcode.com/gh_mirrors/go/goreman Goreman是一款用Go语言编写的进程管理工具,作为Foreman的克隆版本&#…...

smcFanControl终极指南:让你的Intel Mac告别过热降频,性能全开

smcFanControl终极指南:让你的Intel Mac告别过热降频,性能全开 【免费下载链接】smcFanControl Control the fans of every Intel Mac to make it run cooler 项目地址: https://gitcode.com/gh_mirrors/smc/smcFanControl 你是否曾经在视频编辑或…...