Python的第三方库OS库

读者大大们好呀!!!☀️☀️☀️


🔥 欢迎来到我的博客
👀期待大大的关注哦❗️❗️❗️
🚀欢迎收看我的主页文章➡️寻至善的主页

文章目录

🔥前言

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表达式案例

其他文件都是基于这一规律的:我想着是提取改文件名的中间一部分便找到了"_"这个分割

具体代码如下:

python 复制代码
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:
        # 如果是文件夹,可以选择递归遍历或忽略
        continue

print("Renaming process completed.")

3️⃣运行代码后,这个新命名我看的就比较轻松了:

⭐️⭐️⭐️总结

这是一次小小的尝试,我依稀记得刚进公司时,主管叫我给4000多个视频文件进行重命名,根据视频的相关内容,花费了我一周时间将其搞定,后面我将会根据现实所碰到的问题,一一介绍Python第三方库的妙用!!!

✈️✈️✈️如果喜欢这篇文章的话
🙏大大们可以动动发财的小手:
👉👉👉 点赞:👍收藏:⭐️评论:✍️👈👈👈

相关推荐
m0_748554814 小时前
golang如何实现用户订阅偏好管理_golang用户订阅偏好管理实现总结
jvm·数据库·python
smj2302_796826525 小时前
解决leetcode第3911题.移除子数组元素后第k小偶数
数据结构·python·算法·leetcode
阿正呀5 小时前
Redis怎样实现本地缓存的高效失效通知
jvm·数据库·python
2501_901200536 小时前
mysql如何设置InnoDB引擎参数_优化innodb_buffer_pool
jvm·数据库·python
_.Switch6 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
Mr_sst6 小时前
Claude Code 部署与使用保姆级教程(2026 最新)
python·ai
瞎某某Blinder6 小时前
DFT学习记录[6]基于 HES06的能带计算+有效质量计算
python·学习·程序人生·数据挖掘·云计算·学习方法
m0_495496417 小时前
mysql处理复杂SQL性能_InnoDB优化器与MyISAM差异
jvm·数据库·python
forEverPlume7 小时前
PHP怎么使用Eloquent Attribute Composition属性组合_Laravel通过组合构建复杂属性【方法】
jvm·数据库·python
Aleeeeex7 小时前
RAG 那点事:从 8 份企业文档到能用的问答系统,全过程拆给你看
人工智能·python·ai编程