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

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第三方库的妙用!!!

✈️✈️✈️如果喜欢这篇文章的话

🙏大大们可以动动发财的小手:
👉👉👉 点赞:👍收藏:⭐️评论:✍️👈👈👈

http://www.lryc.cn/news/359984.html

相关文章:

  • 两个数相加减高级实现
  • 小白跟做江科大32单片机之对射式红外传感器计次
  • 安装Kubernetes v3 ----以docker的方式部署
  • 新游启航 失落的方舟台服注册指南 一文教会你方舟台服注册
  • 运维开发详解
  • 英伟达(NVIDIA)H100性能及应用场景
  • 充电宝怎么选?充电宝目前什么牌子质量好耐用?盘点好用充电宝
  • 智能视频监控技术为游泳馆安全护航,助力安全管理新升级
  • Windows通过cmd运行快速启动应用
  • 271 基于matlab的可调Q因子小波变换故障诊断
  • 吴恩达深度学习个人笔记
  • Spring的依赖注入DI
  • Java 获取和修改期日与时间的各种操作方法
  • 【ubuntu20】--- 定时同步文件
  • 网吧|基于SprinBoot+vue的网吧管理系统(源码+数据库+文档)
  • [C/C++] -- Libcurl开发
  • Streamsets-JDBC模式使用更新时间字段数据同步
  • Nodejs-- 网络编程
  • React@16.x(14)context 举例 - Form 表单
  • 十几款基于ChatGPT的免费神器,每个都是王炸!
  • devicemotion 或者 deviceorientation在window.addEventListener 事件中不生效,没有输出内容
  • java单元测试如何断言异常
  • C语言| n的阶乘相加
  • cwiseMax、cwiseMin函数
  • 【thinkphp问题栏】tp5.1重写URL,取消路径上的index.php
  • 缓冲字符流
  • Django中使用Celery和APScheduler实现定时任务
  • Kivy.uix.textinput
  • 基于IoTDB 平台的学习和研究
  • nessus plugins目录为空的问题