十个常见的 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 用户来说,有数百种工具可用于提高用户参与…...

springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...
机器学习的数学基础:线性模型
线性模型 线性模型的基本形式为: f ( x ) ω T x b f\left(\boldsymbol{x}\right)\boldsymbol{\omega}^\text{T}\boldsymbol{x}b f(x)ωTxb 回归问题 利用最小二乘法,得到 ω \boldsymbol{\omega} ω和 b b b的参数估计$ \boldsymbol{\hat{\omega}}…...
JS红宝书笔记 - 3.3 变量
要定义变量,可以使用var操作符,后跟变量名 ES实现变量初始化,因此可以同时定义变量并设置它的值 使用var操作符定义的变量会成为包含它的函数的局部变量。 在函数内定义变量时省略var操作符,可以创建一个全局变量 如果需要定义…...
前端工具库lodash与lodash-es区别详解
lodash 和 lodash-es 是同一工具库的两个不同版本,核心功能完全一致,主要区别在于模块化格式和优化方式,适合不同的开发环境。以下是详细对比: 1. 模块化格式 lodash 使用 CommonJS 模块格式(require/module.exports&a…...

【阅读笔记】MemOS: 大语言模型内存增强生成操作系统
核心速览 研究背景 研究问题:这篇文章要解决的问题是当前大型语言模型(LLMs)在处理内存方面的局限性。LLMs虽然在语言感知和生成方面表现出色,但缺乏统一的、结构化的内存架构。现有的方法如检索增强生成(RA…...