目录
前言
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库内容请搜索小闻网以前的文章或继续浏览下面的相关文章希望大家以后多多支持小闻网!
评论(0)