Python遍历移动多层指定文件夹文件

  • ​​前言​​
  • ​​前提条件​​
  • ​​相关介绍​​
  • ​​实验环境​​
  • ​​Python遍历多层文件夹重命名文件​​
  • ​​代码实现​​
  • ​​输出结果​​

前言

  • 本文是个人使用Python遍历移动多层指定文件夹文件的电子笔记,由于水平有限,难免出现错漏,敬请批评改正。
  • 更多精彩内容,可点击进入我的​​个人主页​​查看

前提条件

相关介绍

  • Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
  • Python OS模块是负责程序与操作系统的交互,提供了访问操作系统底层的接口和非常丰富的方法用来处理文件和目录。

实验环境

  • Python 3.x (面向对象的高级语言)

Python遍历多层文件夹重命名文件

├─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

└─images

代码实现

import os
import shutil

def move(src_path,target_path):
filenames = os.listdir(src_path)
# print(filenames)
src_path_split = src_path.split('\\')
# print(src_path_split)
for filename in filenames:
filename_path = os.path.join(src_path,filename)
shutil.move(filename_path, target_path) # 移动到目标文件夹

if __name__=="__main__":
target_path = 'images'# 要移到的目的文件夹
first_dirlist = os.listdir()
first_dirlist = [i for i in first_dirlist if not i.endswith('.py')] # 获得第二层文件目录列表
first_dirlist.remove(target_path) # 跳过target_path文件夹
# print(first_dirlist)
for dir1 in first_dirlist: # 遍历第一层文件目录列表
second_dirlist = os.listdir(dir1) # 获得第二层文件目录列表
# print(second_dirlist)
for dir2 in second_dirlist: # 遍历第二层文件目录列表
# print(dir2 =='cemian1')
src_path = os.path.join(dir1,dir2) # 最终文件路径
# print(src_path)
move(src_path,target_path)

输出结果

├─1
├─2
├─images
│ 1_1_Image-0000.bmp
│ 1_1_Image-0001.bmp
│ 1_2_Image-0000.bmp
│ 1_2_Image-0001.bmp
│ 2_1_Image-0000.bmp
│ 2_1_Image-0001.bmp
│ 2_2_Image-0000.bmp
│ 2_2_Image-0001.bmp