Python第三方库OS库方法实操

来自:网络
时间:2024-08-28
阅读:

前言

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库来进行重命名操作了。

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

Python第三方库OS库方法实操

附:第三方库安装脚本

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

返回顶部
顶部