平时桌面或文件夹内鱼龙混杂,各种类型的文件都有怎么办?
本篇文章中,我们将学习如何使用 Python 编写一个文件整理分类的脚本。
该脚本能够自动获取文件类型,并将文件按照类型整理到不同的子文件夹中。
先看下效果,整理前各种类型文件都有:
整理后,根据文件类型放置到了不同的文件夹中
那下面正式开始上代码:
1. 安装必要的库
首先,确保你已经安装了 shutil 和 os 库。如果没有安装,可以使用以下命令进行安装:
pip install shutil
2. 编写整理分类脚本
下面是文件整理分类脚本的完整代码,可直接使用,输入需要整理的文件夹路径即可:
import os
import shutil
def get_file_type(file_path):
# 获取文件扩展名
_, file_extension = os.path.splitext(file_path)
return file_extension.lower()
def organize_files(input_folder):
# 获取输入文件夹中的所有文件
files = os.listdir(input_folder)
# 遍历每个文件
for file in files:
# 构建文件的完整路径
file_path = os.path.join(input_folder, file)
# 判断是否是文件
if os.path.isfile(file_path):
# 获取文件类型
file_type = get_file_type(file_path)
# 构建目标文件夹路径
target_folder = os.path.join(input_folder, file_type + '类')
# 如果目标文件夹不存在,创建它
if not os.path.exists(target_folder):
os.makedirs(target_folder)
# 构建目标文件路径
target_file_path = os.path.join(target_folder, file)
# 移动文件到目标文件夹
shutil.move(file_path, target_file_path)
# 使用示例
organize_files('files')
3. 代码详解
get_file_type 函数
def get_file_type(file_path):
# 获取文件扩展名
_, file_extension = os.path.splitext(file_path)
return file_extension.lower()
这个函数接受文件路径作为参数,使用 os.path.splitext 获取文件的扩展名(例如 .pdf、.jpg),并返回小写的扩展名。
organize_files 函数
def organize_files(input_folder):
# 获取输入文件夹中的所有文件
files = os.listdir(input_folder)
# 遍历每个文件
for file in files:
# 构建文件的完整路径
file_path = os.path.join(input_folder, file)
# 判断是否是文件
if os.path.isfile(file_path):
# 获取文件类型
file_type = get_file_type(file_path)
# 构建目标文件夹路径
target_folder = os.path.join(input_folder, file_type + '类')
# 如果目标文件夹不存在,创建它
if not os.path.exists(target_folder):
os.makedirs(target_folder)
# 构建目标文件路径
target_file_path = os.path.join(target_folder, file)
# 移动文件到目标文件夹
shutil.move(file_path, target_file_path)
这个函数接受一个输入文件夹路径,使用 os.listdir 获取该文件夹中的所有文件。
然后,遍历每个文件,获取文件类型并自动创建对应的文件夹,最后将文件移动到相应的文件夹中。
4. 运行脚本
保存以上代码到一个文件(例如 organize_files.py),然后在终端或者编辑器中运行脚本:
python organize_files.py
脚本将会处理指定文件夹中的文件,按照文件类型分类整理。
通过这个文件整理分类脚本,你可以方便地将一个混杂的文件夹整理成按照类型分类的结构。
有所收益,欢迎关注,持续更新,一起进步~