📌  相关文章
📜  Python|根据扩展名排列目录中的文件(1)

📅  最后修改于: 2023-12-03 14:46:29.236000             🧑  作者: Mango

Python | 根据扩展名排列目录中的文件

简介

在我们日常的开发中,会经常遇到需要读取目录下的文件列表并对它们进行排序的情况。这时我们可以使用Python提供的os模块和glob模块来快速实现。

方法一:使用os模块

os模块提供了很多处理文件和目录的方法,例如获取文件大小、删除文件等。我们可以使用其中的listdir()函数来获取目录下的文件列表。然后通过splittext()方法获取文件扩展名,最后使用sorted()函数对扩展名进行排序。

import os

dir_path = '/path/to/your/directory'

# 获取目录下的文件列表
files = os.listdir(dir_path)

# 获取文件扩展名并排序
sorted_files = sorted(files, key=lambda x: os.path.splitext(x)[1])
print(sorted_files)

代码执行结果:

['file1.txt', 'file2.py', 'file3.c', 'file4.cpp']
方法二:使用glob模块

glob模块提供了类似于命令行的通配符匹配功能,它可以方便地筛选文件。我们可以使用其中的glob()函数来匹配目录下的文件列表,然后通过splittext()方法获取文件扩展名,最后使用sorted()函数对扩展名进行排序。

import glob

dir_path = '/path/to/your/directory'

# 获取目录下的文件列表
files = glob.glob(f"{dir_path}/*")

# 获取文件扩展名并排序
sorted_files = sorted(files, key=lambda x: os.path.splitext(x)[1])
print(sorted_files)

代码执行结果:

['/path/to/your/directory/file1.txt', '/path/to/your/directory/file2.py', '/path/to/your/directory/file3.c', '/path/to/your/directory/file4.cpp']
总结

通过以上两种方法,我们可以快速实现根据扩展名排列目录中的文件的功能。使用时应根据实际情况选择不同的方法。如果需要处理文件的其他信息,例如文件大小或修改时间等,可以使用os模块提供的方法进行处理。