>> os.path.split("test/test-1")# 分割。零基础小白必看:python基本操作-文件、目录及路径( 四 )。" />

零基础小白必看:python基本操作-文件、目录及路径( 四 )

  • split :分割文件名和文件夹 , 即把 path 以最后一个斜线"/"为分隔符 , 切割为 head 和 tail, 以 (head, tail) 元组的形势返回 。
>>> os.path.split("test/test-1")# 分割目录('test', 'test-1')>>> os.path.split("test/test-1/")# 以/结尾的目录分割('test/test-1', '')>>> os.path.split("test/test-1/test-1.txt")# 分割文件('test/test-1', 'test-1.txt')复制代码
  • splitext :分割路径名和文件扩展名 , 把path 以最后一个扩展名分隔符“.”分割 , 切割为 head 和 tail, 以 (head, tail) 元组的形势返回 。 注意与 split 的区别是分隔符的不同 。
>>> os.path.splitext("test/test-1")('test/test-1', '')>>> os.path.splitext("test/test-1/") ('test/test-1/', '')>>> os.path.splitext("test/test-1/test-1.txt")# 区分文件名及扩展名('test/test-1/test-1', '.txt')>>> os.path.splitext("test/test-1/test-1.txt.tmp") # 以最后的"."为分割点('test/test-1/test-1.txt', '.tmp')复制代码5 示例应用下面以一些平时使用到的场景 , 对前面的操作函数进行综合使用 。
5.1 批量修改文件名def batch_rename(dir_path):itemlist = os.listdir(dir_path)# 获取目录文件列表for item in itemlist:# 连接成完整路径item_path = os.path.join(dir_path, item)print(item_path)# 修改文件名if os.path.isfile(item_path):splitext = os.path.splitext(item_path)os.rename(item_path, splitext[0] + "-副本" + splitext[1])复制代码
零基础小白必看:python基本操作-文件、目录及路径文章插图
5.2 遍历目录及子目录下所有指定扩展名的文件def walk_ext_file(dir_path,ext):# 遍历for root, dirs, files in os.walk(dir_path):# 获取文件名称及路径for file in files:file_path = os.path.join(root, file)file_item = os.path.splitext(file_path)# 输出指定扩展名的文件路径if ext == file_item[1]:print(file_path)复制代码
零基础小白必看:python基本操作-文件、目录及路径文章插图
5.3 按修改时间排序指定目录下的文件def sort_file(dir_path):# 排序前itemlist = os.listdir(dir_path)print(itemlist)# 正向排序itemlist.sort(key=lambda filename: os.path.getmtime(os.path.join(dir_path, filename)))print(itemlist)# 反向排序itemlist.sort(key=lambda filename: os.path.getmtime(os.path.join(dir_path, filename)), reverse=True)print(itemlist)# 获取最新修改的文件print(itemlist[0])复制代码
零基础小白必看:python基本操作-文件、目录及路径文章插图
6 总结在需要对文件或者目录进行操作时 , python 是一个简单快速选择 。 本文通过 python 的标准内置 os 模块及子模块 os.path 的常用方法进行介绍 , 最后结合使用场景进行综合使用 。 相信已经满足大家对文件及目录操作的大部分需求 。
【零基础小白必看:python基本操作-文件、目录及路径】最后多说一句 , 小编是一名python开发工程师 , 这里有我自己整理了一套最新的python系统学习教程 , 包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等 。 想要这些资料的可以关注小编 , 并私信“01”领取 。