Python脚本实现指定文件夹下文件批量移动至目标目录

Jasper
Jasper
发布时间:2026-10-13| 6人浏览过
原创

本文介绍使用Python脚本将指定文件夹及其子目录下的指定类型文件批量移动到目标位置的方法。通过遍历目录结构,筛选符合后缀名的文件并执行移动操作,同时统计访问的文件夹数量和处理的文件数量,适用于整理大量分散文件的需求。

本文主要介绍如何使用Python编写一个脚本,将指定文件夹下的特定类型文件移动到指定的目标位置。具体实现细节如下所示。

# coding:utf-8
import os
import shutil
import sys
reload(sys)
sys.setdefaultencoding('utf8')
# print os.getcwd()
# 有些文件夹下面有很多文件夹,每个文件夹下面有很多视频文件,现在通过脚本,将文件夹下面的所有文件转移到一个目录下面

# 统计访问的文件夹数量及文件数量
countNum = [0, ]
countFile = [0, ]
# 选择全部移除或者指定后缀名文件


# 查找文件
def move_all_files(dir_path):
 if os.path.exists(dir_path):
  countNum[0] += 1
  # 输出遍历的文件夹数量
  print "*****", countNum[0], "*****"+dir_path
  # 指定文件夹下的所有文件和文件夹
  path_list = os.listdir(dir_path)
  # 遍历
  for each_path in path_list:
   # 如果是文件夹就继续遍历
   print each_path
   if os.path.isdir(dir_path+"\\"+each_path):
    # 移动所有文件到指定目录下面
    src=dir_path+"\\"+each_path
    move_all_files(src)
   else:
    # 如果是指定文件类型,则复制文件
    file_type = os.path.splitext(each_path)[1]
    # 判断是否为选择的文件类型
    selected = False
    if file_type == select_type or select_type == 'All':
     selected = True
    if selected:
     # 复制文件
     src_file = dir_path + "\\" + each_path
     des_file = des_pos + "\\" + each_path
     print "正在复制", each_path
     shutil.copyfile(src_file, des_file)
     # 文件+1
     countFile[0] += 1
 else:
  print "指定路径不存在"


# 需要复制文件的文件夹位置
give_pos = r"C:\Users\lance\Downloads\Java Web编程相关"
# 需要复制到的位置
des_pos = r"C:\Users\lance\Downloads\测试"
# All 或者 指定文件后缀名
select_type = 'All'
# 如果不存在,创建
if not os.path.exists(unicode(des_pos, 'utf-8')):
 os.mkdir(unicode(des_pos, "utf-8"))
# 移动文件
move_all_files(unicode(give_pos, "utf-8"))
print "将文件从****'", give_pos, "'复制到****'", des_pos, "'"
print "共访问了", countNum[0], "个文件夹"
print "共复制了 ", countFile[0], " 个文件"

以上是本文的全部内容,希望这对大家的学习有所帮助,同时也欢迎大家继续支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。