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

​十个常见的 Python 脚本 (详细介绍 + 代码举例)

1. 批量重命名文件

介绍:  该脚本用于批量重命名指定目录下的文件,例如将所有 ".txt" 文件重命名为 ".md" 文件。

import osdef batch_rename(directory, old_ext, new_ext):"""批量重命名文件扩展名。Args:directory: 要处理的目录路径。old_ext: 要替换的旧扩展名。new_ext: 要替换的新扩展名。"""for filename in os.listdir(directory):if filename.endswith(old_ext):base_name = os.path.splitext(filename)[0]new_filename = base_name + new_extold_path = os.path.join(directory, filename)new_path = os.path.join(directory, new_filename)os.rename(old_path, new_path)# 示例用法:将当前目录下所有 ".txt" 文件重命名为 ".md" 文件
batch_rename(".", ".txt", ".md")

2. 下载网页图片

介绍:  该脚本用于下载指定网页上的所有图片,并保存到本地目录。

import requests
from bs4 import BeautifulSoup
import osdef download_images(url, save_dir):"""下载网页上的所有图片。Args:url: 要下载图片的网页地址。save_dir: 保存图片的目录路径。"""response = requests.get(url)soup = BeautifulSoup(response.text, 'html.parser')# 创建保存目录if not os.path.exists(save_dir):os.makedirs(save_dir)# 找到所有图片标签img_tags = soup.find_all('img')# 下载每张图片for i, img_tag in enumerate(img_tags):img_url = img_tag.get('src')if img_url:img_data = requests.get(img_url).contentimg_name = f"image_{i+1}.jpg"img_path = os.path.join(save_dir, img_name)with open(img_path, 'wb') as f:f.write(img_data)print(f"Downloaded: {img_name}")# 示例用法:下载百度首页的图片
download_images("https://www.baidu.com", "baidu_images")

3. 发送邮件通知

介绍: 该脚本用于发送邮件通知,例如在脚本执行完毕后发送邮件通知管理员。

import smtplib
from email.mime.text import MIMETextdef send_email(sender_email, sender_password, receiver_email, subject, message):"""发送邮件通知。Args:sender_email: 发送方邮箱地址。sender_password: 发送方邮箱密码。receiver_email: 接收方邮箱地址。subject: 邮件主题。message: 邮件内容。"""msg = MIMEText(message, 'plain', 'utf-8')msg['Subject'] = subjectmsg['From'] = sender_emailmsg['To'] = receiver_emailtry:with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp:smtp.login(sender_email, sender_password)smtp.send_message(msg)print("邮件发送成功!")except Exception as e:print(f"邮件发送失败:{e}")# 示例用法:发送邮件通知
send_email("your_email@gmail.com", "your_password", "receiver@example.com", "脚本执行完毕", "脚本已成功执行!")

4. 读取 CSV 文件

介绍: 该脚本用于读取 CSV 文件,并可以根据需要对数据进行处理和分析。

import csvdef read_csv(file_path):"""读取 CSV 文件。Args:file_path: CSV 文件路径。"""with open(file_path, 'r', encoding='utf-8') as f:reader = csv.reader(f)# 跳过标题行next(reader)for row in reader:print(row)# 示例用法:读取名为 "data.csv" 的 CSV 文件
read_csv("data.csv")

5. 写入 CSV 文件

介绍:  该脚本用于将数据写入 CSV 文件,可以用于数据存储和导出。

import csvdef write_csv(file_path, data):"""将数据写入 CSV 文件。Args:file_path: CSV 文件路径。data: 要写入的数据,格式为列表的列表。"""with open(file_path, 'w', encoding='utf-8', newline='') as f:writer = csv.writer(f)writer.writerows(data)# 示例用法:将数据写入名为 "data.csv" 的 CSV 文件
data = [["Name", "Age", "City"],["Alice", 25, "New York"],["Bob", 30, "London"],
]
write_csv("data.csv", data)

6. 爬取网页数据

介绍:  该脚本用于爬取网页数据,例如新闻标题、商品价格等,并可以将数据保存到本地或数据库。

import requests
from bs4 import BeautifulSoupdef scrape_website(url):"""爬取网页数据。Args:url: 要爬取数据的网页地址。"""response = requests.get(url)soup = BeautifulSoup(response.text, 'html.parser')# 提取数据,例如新闻标题titles = [title.text.strip() for title in soup.find_all('h2', class_='news-title')]# 打印提取的数据for title in titles:print(title)# 示例用法:爬取新浪新闻首页的新闻标题
scrape_website("https://news.sina.com.cn/")

7. 自动化测试

介绍:  该脚本用于自动化测试软件或网站的功能,例如登录测试、表单提交测试等。

from selenium import webdriverdef test_login(url, username, password):"""测试网站登录功能。Args:url: 要测试的网站地址。username: 登录用户名。password: 登录密码。"""driver = webdriver.Chrome()driver.get(url)# 找到用户名和密码输入框,并输入用户名和密码username_input = driver.find_element_by_id("username")password_input = driver.find_element_by_id("password")username_input.send_keys(username)password_input.send_keys(password)# 找到登录按钮,并点击login_button = driver.find_element_by_id("login-button")login_button.click()# 检查是否登录成功if driver.current_url == "https://www.example.com/dashboard":print("登录成功!")else:print("登录失败!")driver.quit()# 示例用法:测试 example.com 网站的登录功能
test_login("https://www.example.com/login", "testuser", "testpassword")

8. 图像处理

介绍:  该脚本用于图像处理,例如裁剪、缩放、添加水印等。

from PIL import Imagedef resize_image(image_path, width, height):"""缩放图片大小。Args:image_path: 图片路径。width: 新的宽度。height: 新的高度。"""img = Image.open(image_path)img = img.resize((width, height))img.save("resized_" + image_path)# 示例用法:将图片 "image.jpg" 缩放为 200x200 像素
resize_image("image.jpg", 200, 200)

9. 数据可视化

介绍:  该脚本用于数据可视化,例如绘制图表、生成报表等,可以更直观地展示数据。

import matplotlib.pyplot as pltdef plot_chart(x, y):"""绘制折线图。Args:x: x 轴数据。y: y 轴数据。"""plt.plot(x, y)plt.xlabel("X 轴")plt.ylabel("Y 轴")plt.title("折线图")plt.show()# 示例用法:绘制 x=[1,2,3], y=[4,5,6] 的折线图
plot_chart([1, 2, 3], [4, 5, 6])

10. 创建简单的 Web 应用

介绍:  该脚本使用 Flask 框架创建一个简单的 Web 应用,例如显示 "Hello, world!" 的页面。

from flask import Flaskapp = Flask(__name__)@app.route("/")
def hello():return "Hello, world!"if __name__ == "__main__":app.run(debug=True)

注意:  以上代码示例仅供参考,实际应用中需要根据具体需求进行修改和完善。部署爬虫相关代码需要遵守 robots 协议, 并注意数据安全。

如果对你有帮助,记得点赞分享支持一下~

相关文章:

​十个常见的 Python 脚本 (详细介绍 + 代码举例)

1. 批量重命名文件 介绍: 该脚本用于批量重命名指定目录下的文件,例如将所有 ".txt" 文件重命名为 ".md" 文件。 import osdef batch_rename(directory, old_ext, new_ext):"""批量重命名文件扩展名。Args:directory: 要处理…...

【C语言】详解feof函数和ferror函数

文章目录 前言1. feof1.1 feof函数原型1.2 正确利用函数特性读写文件1.2.1 针对文本文件1.2.2 针对二进制文件 1.3 feof函数的原理1.4 feof函数实例演示 2. ferror2.1 ferror函数原型 前言 或许我们曾在网络上看过有关于feof函数,都说这个函数是检查文件是否已经读…...

ValueListenableBuilder 和 addListener 在 ChangeNotifier的区别

1、前言 ValueListenableBuilder 和 addListener 在 ChangeNotifier 中有不同的用途和用法,适用于不同的场景。它们的主要区别在于它们如何监听和响应状态变化,以及它们的用法和特性。 2、ValueListenableBuilder用法 ValueListenableBuilder 是一个 …...

ScriptEcho:AI赋能的前端代码生成神器

ScriptEcho:AI赋能的前端代码生成神器 在前端开发中,如果你总是觉得写代码太费时费力,那么 ScriptEcho 将成为你的救星。这个 AI 代码生成平台不仅能帮你省下大量时间,还能让你轻松愉快地写出生产级代码。本文将带你了解 ScriptEc…...

TypeError: ‘float’ object is not iterable 深度解析

TypeError: ‘float’ object is not iterable 深度解析与实战指南 在Python编程中,TypeError: float object is not iterable是一个常见的错误,通常发生在尝试对浮点数(float)进行迭代操作时。这个错误表明代码中存在类型使用不…...

灵茶八题 - 子序列 +w+

灵茶八题 - 子序列 w 题目描述 给你一个长为 n n n 的数组 a a a,输出它的所有非空子序列的元素和的元素和。 例如 a [ 1 , 2 , 3 ] a[1,2,3] a[1,2,3] 有七个非空子序列 [ 1 ] , [ 2 ] , [ 3 ] , [ 1 , 2 ] , [ 1 , 3 ] , [ 2 , 3 ] , [ 1 , 2 , 3 ] [1],[…...

为什么美元债务会越来越多?

美元债务规模持续膨胀,其背后原因复杂多样,可归结为以下几个主要因素: 财政赤字和刺激政策是导致美元债务增加的重要原因。美国政府长期面临财政赤字问题,支出远超收入,为弥补这一缺口,政府不得不大量发行…...

二维凸包算法 Julia实现

问题描述:给定平面上 n n n 个点的集合 Q Q Q,求其子集 P P P 构成 Q Q Q 的凸包,即 ∀ p ∈ Q , ∃ p 0 , p 1 , p 2 ∈ P \forall p \in Q, \exist p_0, p_1, p_2 \in P ∀p∈Q,∃p0​,p1​,p2​∈P 使得点 p p p 在以点 p 0 , p 1 …...

python dash框架

Dash 是一个用于创建数据分析型 web 应用的 Python 框架。它由 Plotly 团队开发,并且可以用来构建交互式的 web 应用程序,这些应用能够包含图表、表格、地图等多种数据可视化组件。 Dash 的特点: 易于使用:Dash 使用 Python 语法…...

2.外部中断(EXTI)

理论 NVIC:嵌套向量中断控制器(解释教程) 外部通用中断线(EXTI0~EXTI15):每个GPIO设置成中断模式,与中断控制器连接的线 外部中断触发方式 上升沿触发、下降沿触发、双边沿触发 外部中断触发函数 在stm32f1xx_it.c文件…...

Python | SyntaxError: invalid syntax 深度解析

Python | SyntaxError: invalid syntax 深度解析 在Python编程中,SyntaxError: invalid syntax是一个常见的错误,它表明Python解释器在尝试解析代码时遇到了语法问题。这个错误通常是由于代码中存在拼写错误、缺少符号(如括号、冒号或逗号&a…...

付费进群系统源码原版最新修复全开源版

付费进群,和平时所见到的别人拉你进群是不一样的,付费进群需要先缴费以后,才会看到群的二维码,扫码进群或者是长按二维码图片识别进群,付费进群这个功能广泛应用于拼多多的砍价群,活动的助力群,…...

Docker容器部署的SpringBoot项目jar包,上传文件但是找不到路径的问题

在docker容器内部署的jar包运行后,请求访问都没有问题,在文件上传时,发现上传图片接口响应成功,但是图片路径报404错误,发现找不到路径。 在服务器上查看也没有找到相关图片。 原因: 启动docker镜像时没…...

云计算学习——5G网络技术

系列文章目录 提示:仅用于个人学习,进行查漏补缺使用。 Day1 网络参考模型 Day2 网络综合布线与应用 Day3 IP地址 Day4 华为eNSP网络设备模拟器的基础安装及简单使用 Day5 交换机的基本原理与配置 Day6 路由器的原理与配置 Day7 网络层协议介绍一 Day8 传…...

matlab仿真 信道编码和交织(上)

(内容源自详解MATLAB/SIMULINK 通信系统建模与仿真 刘学勇编著第八章内容,有兴趣的读者请阅读原书) ​​​ ​ ​ ​ clear all N10;%信息比特的行数 n7;%hamming码组长度n2^m-1 m3;%监督位长度 [H,G]hammgen(m);%产生(n,n-…...

基于YOLOv8的高压输电线路异物检测系统

基于YOLOv8的高压输电线路异物检测系统 (价格88) 包含 【“鸟窝”,“风筝”,“气球”,“垃圾”】 4个类 通过PYQT构建UI界面,包含图片检测,视频检测,摄像头实时检测。 (该系统可以根据数…...

23款奔驰GLS450加装原厂电吸门配置,提升车辆舒适性和便利性

今天是一台22款奔驰GLS450,车主是佛山的 以前被不良商家坑了 装了副厂的电吸门 刚开始就很正常 用了半年之后 就开始开不了门,被锁在里面,刚开始车主以为是零件坏了 后来越来越频繁,本来是为了家里老人小孩关门方便而升级的&#…...

git操作流程笔记

1、在本地项目文件夹右击鼠标点击Git Bash Here 2、输入git init,这个目录变成git可以管理的仓库,会出现一个.git文件夹,如果没出现的话需要选择“显示隐藏文件”(不会的同学自行百度一下) 3、绑定本地仓库与远程仓库…...

【QT】常用控件-上

欢迎来到Cefler的博客😁 🕌博客主页:折纸花满衣 目录 👉🏻QWidgetenabledgeometryrect制作上下左右按钮 window frame 的影响window titlewindowIcon代码示例: 通过 qrc 管理图片作为图标 windowOpacitycursor使用qrc自…...

帮助网站提升用户参与度的5个WordPress插件

仅靠编写精彩的内容、设计精美的图像和创建简化的客户旅程不足以提高网站参与度。您需要让用户在首次访问后继续与您的网站互动并成为回访者,才能真正吸引您所追求的兴趣。 幸运的是,对于 WordPress 用户来说,有数百种工具可用于提高用户参与…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

基础测试工具使用经验

背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关

在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...

AD学习(3)

1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分: (1)PCB焊盘:表层的铜 ,top层的铜 (2)管脚序号:用来关联原理图中的管脚的序号,原理图的序号需要和PCB封装一一…...

文件上传漏洞防御全攻略

要全面防范文件上传漏洞,需构建多层防御体系,结合技术验证、存储隔离与权限控制: 🔒 一、基础防护层 前端校验(仅辅助) 通过JavaScript限制文件后缀名(白名单)和大小,提…...

深度解析:etcd 在 Milvus 向量数据库中的关键作用

目录 🚀 深度解析:etcd 在 Milvus 向量数据库中的关键作用 💡 什么是 etcd? 🧠 Milvus 架构简介 📦 etcd 在 Milvus 中的核心作用 🔧 实际工作流程示意 ⚠️ 如果 etcd 出现问题会怎样&am…...