前言
- 本文是个人使用Python遍历多层文件夹重命名文件的电子笔记,由于水平有限,难免出现错漏,敬请批评改正。
- 更多精彩内容,可点击进入我的个人主页查看
前提条件
- 熟悉Python
相关介绍
- Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
- Python OS模块是负责程序与操作系统的交互,提供了访问操作系统底层的接口和非常丰富的方法用来处理文件和目录。
实验环境
- Python 3.x (面向对象的高级语言)
Python遍历多层文件夹重命名文件
├─1
│ ├─1
│ │ Image-0000.bmp
│ │ Image-0001.bmp
│ │
│ └─2
│ Image-0000.bmp
│ Image-0001.bmp
│
├─2
│ ├─1
│ │ Image-0000.bmp
│ │ Image-0001.bmp
│ │
│ └─2
│ Image-0000.bmp
│ Image-0001.bmp
│
└─3
├─1
│ Image-0000.bmp
│ Image-0001.bmp
│
└─2
Image-0000.bmp
Image-0001.bmp
代码实现
import os
def renames(src_path):
filenames = os.listdir(src_path)
# print(filenames)
src_path_split = src_path.split('\\')
# print(src_path_split)
for filename in filenames:
old_name = os.path.join(src_path,filename)
change_name = src_path_split[0]+'_'+src_path_split[1]+'_'+filename
new_name = os.path.join(src_path,change_name)
# print(old_name)
# print(change_name)
# print(new_name)
os.rename(old_name, new_name)
if __name__=="__main__":
first_dirlist = os.listdir()
first_dirlist = [i for i in first_dirlist if not i.endswith('.py')] # ???????????
# print(first_dirlist)
for dir1 in first_dirlist: # ???????????
second_dirlist = os.listdir(dir1) # ???????????
# print(second_dirlist)
for dir2 in second_dirlist: # ???????????
src_path = os.path.join(dir1,dir2) # ??????
# print(src_path)
renames(src_path)
输出结果
├─1
│ ├─1
│ │ 1_1_Image-0000.bmp
│ │ 1_1_Image-0001.bmp
│ │
│ └─2
│ 1_2_Image-0000.bmp
│ 1_2_Image-0001.bmp
│
├─2
│ ├─1
│ │ 2_1_Image-0000.bmp
│ │ 2_1_Image-0001.bmp
│ │
│ └─2
│ 2_2_Image-0000.bmp
│ 2_2_Image-0001.bmp
│
└─3
├─1
│ 3_1_Image-0000.bmp
│ 3_1_Image-0001.bmp
│
└─2
3_2_Image-0000.bmp
3_2_Image-0001.bmp
更多精彩内容,可点击进入Python日常小操作专栏或我的个人主页查看