Python第三方库OS库方法实操

 更新时间:2024年06月25日 11:00:24   作者:木道寻  
这篇文章主要给大家介绍了关于Python第三方库OS库的相关资料,os库主要是对文件和文件夹进行操作,在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表达式案例其他文件都是基于

这一规律的:我想着是提取改文件名的中间一部分便找到了“_”这个分割

具体代码如下:

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️⃣运行代码后,这个新命名我看的就比较轻松了:

附:第三方库安装脚本

# PipInstall.py
import os
 
libs = {'numpy','sklearn','pillow','beautifulsoup4','wheel','networkx',\
        'sympy','django','pypdf2','pygame'}
 
try:
    for lib in libs:
        os.system('pip install' + lib)
        print('Successful')
except:
    print('Failed')

运行结果:

======================= RESTART: D:/python/PipInstall.py =======================
Successful
Successful
Successful
Successful
Successful
Successful
Successful
Successful
Successful
Successful

总结

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

到此这篇关于Python第三方库OS库的文章就介绍到这了,更多相关Python第三方库OS库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python中argparse模块基础及使用步骤

    python中argparse模块基础及使用步骤

    argsparse是python的命令行解析的标准模块,内置于python,不需要安装。这个库可以让我们直接在命令行中就可以向程序中传入参数并让程序运行,接下来通过本文给大家介绍python argparse模块的相关知识,感兴趣的朋友一起看看吧
    2022-06-06
  • Python中的递归函数使用详解

    Python中的递归函数使用详解

    这篇文章主要介绍了Python中的递归函数使用详解,递归函数是指某个函数调用自己或者调用其他函数后再次调用自己,由于不能无限嵌套调用,所以某个递归函数一定存在至少两个分支,一个是退出嵌套,不再直接或者间接调用自己;另外一个则是继续嵌套,需要的朋友可以参考下
    2023-12-12
  • Python TypeError: ‘float‘ object is not subscriptable错误解决

    Python TypeError: ‘float‘ object is not subscriptable错

    发现问题写python的时候出现了这个错,所以想着给大家总结下,这篇文章主要给大家介绍了关于Python TypeError: ‘float‘ object is not subscriptable错误的解决办法,需要的朋友可以参考下
    2022-12-12
  • Python实现简单的语音识别系统

    Python实现简单的语音识别系统

    这篇文章主要介绍了Python实现简单的语音识别系统,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • Python报错:OSError: [Errno 22] Invalid argument解决方案及应用实例

    Python报错:OSError: [Errno 22] Invalid argument解决方案及应用实例

    最近跑别人的项目遇到一个这样的问题一开始以为是没有用管理员的权限运行,导致创建不了日志文件后来发现是和windows的命名规则冲突了,这篇文章主要给大家介绍了关于Python报错:OSError: [Errno 22] Invalid argument的解决方案及应用实例,需要的朋友可以参考下
    2024-07-07
  • transforms.Compose()函数的使用及说明

    transforms.Compose()函数的使用及说明

    这篇文章主要介绍了transforms.Compose()函数的使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • django之对django内置的User模型进行自定义扩展方式

    django之对django内置的User模型进行自定义扩展方式

    这篇文章主要介绍了django之对django内置的User模型进行自定义扩展方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  •  Java SE 面向对象编程的3个常用接口

     Java SE 面向对象编程的3个常用接口

    这篇文章主要f Java SE 面向对象编程的3个常用接口,Comparable、Comparator 比较器、Cloneable,下面文章详细介绍,需要的小伙伴可以参考一下
    2022-01-01
  • opencv之颜色过滤只留下图片中的红色区域操作

    opencv之颜色过滤只留下图片中的红色区域操作

    这篇文章主要介绍了opencv之颜色过滤只留下图片中的红色区域操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 利用selenium 3.7和python3添加cookie模拟登陆的实现

    利用selenium 3.7和python3添加cookie模拟登陆的实现

    这篇文章主要给大家介绍了关于利用selenium 3.7和python3添加cookie模拟登陆的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11

最新评论