下面我将详细讲解如何使用Python来根据文件后缀进行分类。
1. 获取文件后缀名
获取文件后缀名可以使用python的os.path模块中的splitext()函数。示例如下:
import os
filename = "example.txt"
file_extension = os.path.splitext(filename)[1] # 获取文件的后缀名,返回值为'.txt'
2. 遍历指定文件夹中的文件
遍历指定文件夹中的文件可以使用python的os模块中的walk()函数。示例如下:
import os
folder_path = "./example_folder" # 指定要遍历的文件夹路径
for root, dirs, files in os.walk(folder_path):
for file in files:
print(file) # 打印文件名
在上述代码中,walk()函数将遍历folder_path文件夹下的所有子文件夹和文件,并返回每个子文件夹的路径、子文件夹列表、文件列表。
3. 分类文件
将遍历得到的文件按照后缀名进行分类可以使用python的字典类型。示例如下:
import os
folder_path = "./example_folder" # 指定要遍历的文件夹路径
file_dict = {} # 用于存储不同后缀名的文件列表
for root, dirs, files in os.walk(folder_path):
for file in files:
file_extension = os.path.splitext(file)[1].lower() # 获取文件的后缀名(转换为小写字母)
if file_extension not in file_dict: # 如果当前后缀名不存在于字典中,添加新的键值对
file_dict[file_extension] = []
file_dict[file_extension].append(file) # 将文件名加入对应的后缀名键对应的值列表中
# 打印不同后缀名的文件列表
for file_extension in file_dict:
print(file_extension, ":", file_dict[file_extension])
该示例代码中,首先定义了一个空字典file_dict用于存储不同后缀名的文件列表。然后,在遍历文件夹中的文件时,使用splitext()函数获取文件的后缀名,并将后缀名作为file_dict的键,将对应的文件名加入对应的键对应的值列表中。最后,使用for循环打印不同后缀名的文件列表。
示例说明
以下是两个示例说明:
示例1
假设文件夹example_folder下包含3个名为file1.txt、file2.jpg、file3.py的文件,其代码如下:
- example_folder
- file1.txt
- file2.jpg
- file3.py
使用示例代码,分类后将打印以下结果:
.txt : ['file1.txt']
.jpg : ['file2.jpg']
.py : ['file3.py']
说明分类程序成功分类了example_folder文件夹下的3个文件。
示例2
假设文件夹example_folder下包含2个子文件夹folder1和folder2,各自包含名为file1.txt和file2.jpg的文件,其代码如下:
- example_folder
- folder1
- file1.txt
- folder2
- file2.jpg
使用示例代码,分类后将打印以下结果:
.txt : ['file1.txt']
.jpg : ['file2.jpg']
说明分类程序成功遍历了example_folder中的两个子文件夹,并成功分类了其中的4个文件。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现如何根据文件后缀进行分类 - Python技术站