使用Python将最旧的文件复制到另一个目录

时间:2011-07-01 06:29:26

标签: python

我的python程序中存在一些问题。

我想打开一个目录,选择最旧的文件,然后将该文件复制到另一个目录。

我读过提到“shutil”的文件,但我不知道如何选择最旧的文件。

有人可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:4)

您可以使用os.path.getatime获取文件(或目录)的上次访问时间,或ps.path.getmtime获取上次修改的时间。

答案 1 :(得分:3)

以下示例比较修改日期,但您当然可以通过将gt的定义更改为os.path.getctimeos.path.getatime来更改它以获取其他与文件相关的时间。

import os, shutil

fromdir = '/home/mac/Desktop'
todir = '/home/mac/Desktop/tmp'
gt = os.path.getmtime  #change if you want something else
oldest = min([(f, gt(f)) for f in os.listdir(fromdir)])[0]
shutil.move(fromdir + '/' + oldest, todir)

答案 2 :(得分:1)

这对我不起作用。它似乎返回最小文件名(即按字母顺序返回最接近'a'的文件名)。

反转元组中的文件信息和文件名(gt(f),f)为我修复了它。因此,我不得不提高返回结果的索引([1])。

oldest = min([   (     gt(f),f     ) for f in os.listdir(fromdir)])[1]