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

通过glob()函数在Python中查找最新创建或修改的文件

发布时间:2023-12-28 11:10:14

在Python中,我们可以使用glob模块的glob()函数来查找最新创建或修改的文件。

glob模块是 Python 的一个标准库,提供了通过匹配文件名来进行文件搜索的功能。可以根据给定的规则匹配文件名,并返回所有符合条件的文件路径。最常见的通配符有:* (匹配0个或多个字符) 和 ? (匹配任意一个字符)。

下面的例子演示了如何使用glob()函数来查找最新修改的文件:

import glob
import os
import time

# 定义一个目录路径
dir_path = '/path/to/directory'

# 使用glob()函数查找目录下的所有文件,并按照修改时间排序
files = sorted(glob.glob(os.path.join(dir_path, '*')), key=lambda x: os.path.getmtime(x), reverse=True)

# 获取最新修改的文件路径
latest_file = files[0]

# 获取最新修改的文件名
latest_file_name = os.path.basename(latest_file)

# 输出最新修改的文件路径和文件名
print("Latest modified file path: ", latest_file)
print("Latest modified file name: ", latest_file_name)

在上面的例子中,我们使用了glob()函数来查找指定目录下的所有文件。由于glob()函数返回的是一个列表,我们可以对该列表进行排序来得到最新修改的文件。

我们使用了os.path.getmtime()函数来获取文件的修改时间。然后我们使用lambda函数作为key参数传递给sorted()函数,以便对文件列表进行排序。

最后,我们将得到的最新修改的文件路径和文件名打印出来。

请注意,如果目录中没有任何文件,上述代码会引发IndexError异常。在使用之前最好先检查目录中是否存在文件。

同样的方法也可以用于查找最新创建的文件。只需将os.path.getmtime()函数替换为os.path.getctime()函数,例如:

files = sorted(glob.glob(os.path.join(dir_path, '*')), key=lambda x: os.path.getctime(x), reverse=True)

上述代码将返回最新创建的文件。

总结:使用glob()函数结合os.path.getmtime()或os.path.getctime()函数,可以方便地查找最新创建或修改的文件。然后,我们可以从返回的文件列表中选择第一个文件作为最新的文件。