欢迎访问宙启技术站
智能推送

使用glob模块在Python中按文件名或路径进行排序和排序方式的选择

发布时间:2023-12-25 12:00:01

在Python中,可以使用glob模块来查找符合特定模式的文件路径或文件名。glob模块提供了一个函数glob,可以接受一个模式字符串作为参数,并返回所有符合该模式的路径或文件名的列表。

首先,需要导入glob模块:

import glob

接下来,可以使用glob函数来查找符合特定模式的文件路径或文件名。例如,假设当前目录下有以下文件:

- file1.txt

- file2.txt

- file3.txt

可以使用通配符*来查找以file开头,并以.txt结尾的文件:

files = glob.glob("file*.txt")
print(files)

输出结果为['file1.txt', 'file2.txt', 'file3.txt'],返回了一个列表,包含了满足条件的文件路径或文件名。

接下来,我们可以介绍如何按文件名或路径进行排序。glob.glob返回的文件路径或文件名的列表是按照它们在文件系统中的出现顺序排序的。然而,在某些情况下,我们可能希望按照文件名的字母顺序进行排序。可以通过使用sorted函数并传递key参数来实现自定义排序。

下面是一个示例,展示了如何按文件名进行排序:

files = glob.glob("file*.txt")
sorted_files = sorted(files)
print(sorted_files)

输出结果为['file1.txt', 'file2.txt', 'file3.txt'],按文件名的字母顺序进行了排序。

如果需要按路径进行排序,可以使用os.path模块中的函数来提取文件的路径信息,并传递给sorted函数的key参数。

下面是一个示例,展示了如何按路径进行排序:

import os

files = glob.glob("path/to/files/file*.txt")
sorted_files = sorted(files, key=lambda x: os.path.dirname(x))
print(sorted_files)

输出结果将会是满足条件的文件路径按路径的字母顺序进行排序。

总结一下,使用glob模块可以方便地查找符合特定模式的文件路径或文件名。可以通过sorted函数和自定义的key参数来实现按文件名或路径的排序。