0

我有一个日期和时间列表(在这种情况下来自 sar)和一个目录中的文件列表。我想浏览列表 A 中的日期/时间列表,对于列出的每个日期/时间,列出当时修改的文件。我目前的想法是实现两个 for 循环,因此对于列表 A 中的每个项目执行另一个 for 循环以查看目录并测试 A 中的项目是否与文件修改日期匹配。

不幸的是,这将非常低效,我不确定它是否会起作用。列表datetime.datetime() 格式为

列表 A 只是日期列表 B 是从目录中的文件中提取的修改日期(使用 glob)

有什么想法吗?

4

1 回答 1

2

与其将 B 设为列表,不如将其设为字典。

B = {}
import os
import datetime
def modification_date_time(file_name):
    time = os.path.getmtime(file_name)
    return datetime.datetime.fromtimestamp(time)

for file in file_list:
    B[modification_date_time(file_name)] = file_name

您可以从中直接获取修改后的文件,无需任何搜索。
PS 正如您所说的“文件”而不是“文件”,每个修改的日期时间都只有一个文件。

于 2012-09-16T16:51:53.993 回答