Python的第三方库OS库
读者大大们好呀!!!☀️☀️☀️
![]()
🔥 欢迎来到我的博客
👀期待大大的关注哦❗️❗️❗️
🚀欢迎收看我的主页文章➡️寻至善的主页
文章目录
- 🔥前言
- 🚀OS/SHUTIL 的方法描述
- 🚀OS/SHUTIL 的方法实操
- ⭐️⭐️⭐️总结
🔥前言
Python的OS库提供了许多用于文件和目录操作的基本功能,如重命名、复制、删除等,能够方便地进行文件系统管理。优点包括易于学习和使用,功能丰富;缺点则是有些操作需要更多复杂的处理,可能不够高效。适合场景包括需要对文件和目录进行简单管理和操作的应用,如文件整理、备份等。
优点:
易于学习和使用,Python的OS库提供了简单直观的接口,适合初学者或快速开发。
功能丰富,能够完成大部分基本的文件和目录操作,满足一般需求。
跨平台性,适用于不同操作系统,使得程序具有更好的可移植性。
缺点:
对于复杂的文件操作可能需要更多的代码处理,不如一些专门的第三方库方便。
有些操作可能不够高效,特别是处理大量文件时可能会导致性能下降。
适用场景:
Python的OS库适合处理简单的文件和目录操作,例如文件重命名、复制、移动、删除等。常见的应用场景包括文件整理、备份、批量重命名等操作。如果需要更高级的功能或更好的性能,可以考虑使用一些专门的第三方库来完成。
🚀OS/SHUTIL 的方法描述
| 方法/函数 | 描述 |
|---|---|
os.rename(src, dst) | 重命名文件或目录 |
os.listdir(path) | 返回指定目录下的所有文件和目录 |
os.getcwd() | 返回当前工作目录 |
os.chdir(path) | 改变当前工作目录 |
os.path.join(path1, path2) | 将两个路径组合成一个完整路径 |
os.path.exists(path) | 检查指定路径(文件或目录)是否存在 |
os.path.isfile(path) | 检查路径是否为文件 |
os.path.isdir(path) | 检查路径是否为目录 |
os.path.basename(path) | 返回路径中的文件名 |
os.path.dirname(path) | 返回路径中的目录名 |
os.path.split(path) | 返回路径的目录名和文件名 |
os.path.splitext(path) | 分割路径的文件名和扩展名 |
os.makedirs(path) | 递归创建目录 |
os.remove(path) | 删除文件 |
os.rmdir(path) | 删除空目录 |
shutil.copy(src, dst) | 复制文件或目录 |
shutil.move(src, dst) | 移动文件或目录 |
shutil.rmtree(path) | 递归删除目录和文件 |
以上是一些常用的os和shutil库函数/方法,用于处理文件和目录操作。这些函数可以帮助你在Python中执行文件的移动、复制、删除、重命名等操作。
🚀OS/SHUTIL 的方法实操
1️⃣我的C盘文件夹下的Pythonspider,有Python爬虫相关的20份左右的文件,我想把这些文件重命名一下,于是这便用到了OS库来进行重命名操作了。

2️⃣我对这些文件的命名特点进行共性分析,便于新命名的规律
文件名是这一串:python_python_v1.0_第3章_Python爬虫_02-xpath表达式&案例_[代码]_11_7_xpath表达式案例
其他文件都是基于这一规律的:我想着是提取改文件名的中间一部分便找到了“_”这个分割
具体代码如下:
import os# 设置文件夹路径
folder_path = r'C:\Pythonspider'# 获取文件夹下的所有文件和文件夹
entries = os.listdir(folder_path)# 遍历文件夹中的所有条目
for entry in entries:# 获取每个条目的完整路径full_path = os.path.join(folder_path, entry)# 检查是否是文件if os.path.isfile(full_path):# 分割文件名和扩展名filename, ext = os.path.splitext(entry)# 假设文件名以'_'分隔,我们可以通过分割字符串并选择特定部分来实现parts = filename.split('_')# 检查分割后的文件名部分是否足够if len(parts) > 5:# 截取第五个'_'后和第六个'_'前的文件名部分new_filename = '_'.join(parts[5:6]) + ext# 构造新的文件完整路径new_file_path = os.path.join(folder_path, new_filename)# 构造原始文件的完整路径old_file_path = os.path.join(folder_path, entry)# 重命名文件os.rename(old_file_path, new_file_path)print(f"Renamed '{entry}' to '{new_filename}'")else:print(f"The original filename '{entry}' does not contain enough parts separated by '_'.")else:# 如果是文件夹,可以选择递归遍历或忽略continueprint("Renaming process completed.")
3️⃣运行代码后,这个新命名我看的就比较轻松了:

⭐️⭐️⭐️总结
这是一次小小的尝试,我依稀记得刚进公司时,主管叫我给4000多个视频文件进行重命名,根据视频的相关内容,花费了我一周时间将其搞定,后面我将会根据现实所碰到的问题,一一介绍Python第三方库的妙用!!!
✈️✈️✈️如果喜欢这篇文章的话
🙏大大们可以动动发财的小手:👉👉👉 点赞:👍收藏:⭐️评论:✍️👈👈👈
相关文章:
Python的第三方库OS库
读者大大们好呀!!!☀️☀️☀️ 🔥 欢迎来到我的博客 👀期待大大的关注哦❗️❗️❗️ 🚀欢迎收看我的主页文章➡️寻至善的主页 文章目录 🔥前言🚀OS/SHUTIL 的方法描述🚀OS/SHUTIL…...
两个数相加减高级实现
不使用实现两数相加 #include <stdio.h> int plus(int a, int b) {int sum0,addication0;while(b!0){sum a^b;addication (a&b)<<1;a sum;b addication;}return a; }不使用-实现两数相减 #include <stdio.h> int sub(int a, int b) {int sum0,abdc…...
小白跟做江科大32单片机之对射式红外传感器计次
原理部分 1中断示意图,中断会打断主函数的执行,终端执行完成之后再返回主函数继续执行 2.STM32中断 这些灰色的是内核中断 这些白色的是普通中断 3.NVIC统一管理中断,每个中断通道都拥有16个可编程的优先等级,可对优先级进行分组…...
安装Kubernetes v3 ----以docker的方式部署
以docker的方式部署 docker run -d \ --restartunless-stopped \ --namekuboard \ -p 80:80/tcp \ -p 10081:10081/tcp \ -e KUBOARD_ENDPOINT"http://192.168.136.55:80" \ -e KUBOARD_AGENT_SERVER_TCP_PORT"10081" \ -v /root/kuboard-data:/data \ e…...
新游启航 失落的方舟台服注册指南 一文教会你方舟台服注册
新游启航!失落的方舟台服注册指南!一文教会你方舟台服注册 失落的方舟作为本月最受期待游戏之一,在上线之际许多玩家已经有点急不可待了。这款游戏是由开发商Smile gate开发的一款MMORPG类型游戏,这款游戏的基本玩法与其他MMORPG…...
运维开发详解
运维开发(DevOps)是开发(Development)和运维(Operations)的结合,旨在通过自动化和协作提高软件开发和交付的效率、速度和可靠性。DevOps强调文化、实践和工具的融合,以实现持续集成&…...
英伟达(NVIDIA)H100性能及应用场景
英伟达H100是一款性能强大的GPU芯片,其关键性能参数和应用领域可以归纳如下: 一、性能参数 架构:H100采用了新一代的Hopper架构,拥有高达1.8万亿次/秒的张量处理能力和高达840 TFLOPS的FP8张量性能。CUDA核心数:H100…...
充电宝怎么选?充电宝目前什么牌子质量好耐用?盘点好用充电宝
充电宝怎么选?是不是很多朋友在选充电宝上非常的纠结?在买充电宝上面还是非常有讲究的!市面上的充电宝虽然多,但是不排除很多存在安全隐患的,如果稍微没有挑选好充电宝的话,买来的充电宝极大可能是存在非常…...
智能视频监控技术为游泳馆安全护航,助力安全管理新升级
随着社会的进步和科技的发展,视频监控技术在各行各业的应用越来越广泛。游泳馆作为公共场所,每天都会有大量的游泳者进出。在这样的环境中,有时难免会发生一些意外事故,如溺水、摔倒等。因此,视频监控建设的必要性尤为…...
Windows通过cmd运行快速启动应用
Windows如何通过cmd运行快速启动应用? 在Windows操作系统中,可以通过配置环境变量的方式将文件的路径配置到环境变量的path中,配置完成后可以在cmd中输入对应的应用名称即可启动应用,具体操作如下: 1. 添加应用程序路径…...
271 基于matlab的可调Q因子小波变换故障诊断
基于matlab的可调Q因子小波变换故障诊断,可用在轴承、齿轮、活塞等故障诊断中,程序中包含了原始TQWT工具箱和轴承振动信号信号的谱包络的求取。通过仿真数据、实际轴承数据说明了方法的效果。程序已调通,可直接运行。 271 可调Q因子小波变换 …...
吴恩达深度学习个人笔记
1. 上一个视频提到的房地产领域,我们不就使用了一个普遍标准神经网络架构吗 而对于图像识别处理问题,我们则要使用卷积神经网络(Convolution Neural Network),即CNN。 对于序列数据,例如音频,有一个时间组件,随着时间的推移,音频被播放出来, 所以音频是最自然的表…...
Spring的依赖注入DI
调用构造器方法注入: 需要有对应匹配的构造器 不然出现异常No matching constructor Spring构造器注入有三种不同方式 name :按照参数名称 <bean id"stu" class"com.xja.bean.Student"> <constructor-arg name"name" value"rk&…...
Java 获取和修改期日与时间的各种操作方法
LocalDateTime获取当地日期和时间 import java.time.LocalDateTime; /*LocalDateTime.now() 获取当前时间*/ public class LocalDateTimeDemo {public static void main(String[] args) {LocalDateTime time1 LocalDateTime.now();System.out.println(time1);//2024-06-01T13…...
【ubuntu20】--- 定时同步文件
在编程的艺术世界里,代码和灵感需要寻找到最佳的交融点,才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里,我们将共同追寻这种完美结合,为未来的世界留下属于我们的独特印记。 【Linux命令】--- 多核压缩命令大全&…...
网吧|基于SprinBoot+vue的网吧管理系统(源码+数据库+文档)
网吧管理系统 目录 基于SprinBootvue的网吧管理系统 一、前言 二、系统设计 三、系统功能设计 1 管理员功能模块 2 网管功能模块 3 会员功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍&#…...
[C/C++] -- Libcurl开发
libcurl 是一个功能强大的 C 语言库,用于实现各种网络传输协议的客户端功能。它是 Curl 工具的核心,并提供了一个简单、灵活、高效的 API,允许开发人员在他们的应用程序中轻松地执行网络操作。 以下是 libcurl 的一些主要特点和功能…...
Streamsets-JDBC模式使用更新时间字段数据同步
StreamSets的开源地址:https://github.com/streamsets/datacollector-oss Streamsets官网地址:https://streamsets.com/ Streamsets文档地址:https://docs.streamsets.com/portal/datacollector/3.16.x/help/index.html 我又来写Streamsets了…...
Nodejs-- 网络编程
网络编程 构建tcp服务 TCP tcp全名为传输控制协议。再osi模型中属于传输层协议。 tcp是面向连接的协议,在传输之前需要形成三次握手形成会话 只有会话形成了,服务端和客户端才能想发送数据,在创建会话的过程中,服务端和客户…...
React@16.x(14)context 举例 - Form 表单
目录 1,目标2,实现2.1,index.js2.2,context.js2.2,Form.Input2.3,Form.Button 3,使用 1,目标 上篇文章说到,context 上下文一般用于第3方组件库,因为使用场景…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
