如果编写2个文件程序,如何将最近写入目录的文件写入程序应该使用python检测2个文件

时间:2017-07-28 14:28:21

标签: python

我正在尝试获取最近存放在我的目录中的文件。以下是我正在使用的代码。

 filelist = max(glob.iglob(path_to_midterm+"\\*.zip"), key=os.path.getctime)

这段代码给了我最近的文件。如果在目录中写入多个文件,它仍然给我1个文件。所以,我想要的是如果同时写入多个文件来获取所有文件。我如何获取所有文件?

1 个答案:

答案 0 :(得分:1)

我获取所有文件,找出最旧的文件,并使用所有文件在此时间的十秒内:

filenames_and_times = [ (filename, os.path.getctime(filename))
    for filename in glob.iglob(path_to_midterm+"\\*.zip") ]
time_of_last = max(filetime for (_, filetime) in filenames_and_times)
print [ filename
    for (filename, filetime) in filenames_and_times
    if filetime > time_of_last - 10.0 ]

或者,您可以按时间对文件名列表进行排序,并使用最后四个条目(如果有意义,则取决于您的用例):

filenames_and_times.sort(key=lambda (f, t): t)
print filenames_and_times[-4:]