Python实现按文件扩展名自动分类整理

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

本文介绍如何使用Python内置的os和shutil模块编写脚本,根据文件扩展名自动将指定目录下的文件分类移动至对应子文件夹。代码展示了遍历目录、判断扩展名、创建文件夹及移动文件的完整流程,并包含运行耗时统计功能,适用于图片、文档等大量文件的自动化整理场景。

Python文件分类脚本实现

本文提供了一份使用Python根据文件格式对文件进行分类整理的完整代码示例,供读者参考学习。

该方案主要依赖Python的两个内置模块:os模块,用于处理目录或文件的新建、删除、属性查看以及路径操作;以及shutil模块,用于执行高级别的目录或文件移动、复制、打包、压缩和解压等操作。

核心代码逻辑解析


import os,shutil,time
def files_classfy(target_path):
  global count #定义全局变量
  file_list = os.listdir(target_path) #列出目标路径下的所有文件列表
  for file in file_list: #遍历取到每一个文件名
    os.chdir(target_path) #改变当前工作目录为目标路径
    if file.find('.') == -1: #如果当前文件名中无扩展名则跳过
      continue
    filetype = file.split('.')[-1] #取得文件扩展名格式,windows下文件需设置为扩展名可见
    if not os.path.exists(filetype):
      os.mkdir(filetype)  #如果工作目录下不存在以当前扩展名命名的文件夹则创建该文件夹(默认属性为0777)
    new_path = os.path.join(target_path,'%s'%filetype) #取得当前扩展名文件夹路径
    os.chdir(new_path) 
    if os.path.exists(file): #如果当前扩展名文件夹中已存在同名文件则跳过
      continue
    else:
      os.chdir(target_path) #将工作目录切换回目标文件夹
      shutil.move(file,filetype) #移动相同格式的文件到对应的格式文件夹
      count+=1
start = time.time()
count = 0
path = "G:\picture\mi5splus"
files_classfy(path)
total_time = time.time() - start
print("程序运行时间:%0.2f"%total_time)
print("共处理图片:%d"%count)

运行结果说明

以下是程序运行后的结果展示。

以上就是本文的全部内容,希望能为读者的学习带来帮助,同时也欢迎大家继续支持本站。

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

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 算法库。