使用Python将最旧文件复制到另一个目录
我在我的Python程序中遇到了一些问题。
我想打开一个文件夹,选择里面最旧的文件,然后把这个文件复制到另一个文件夹。
我看过一些提到“shutil”的文档,但我不知道怎么选择最旧的文件。
有没有人能帮我解决这个问题?
3 个回答
1
这个方法对我没用。它似乎返回的是字母顺序上最靠前的文件名,也就是最接近'a'的那个。
我把文件信息和文件名在元组中调换了一下位置(变成了 gt(f),f),这样就解决了我的问题。所以我还得把返回结果的索引加一(变成[1])。
oldest = min([ ( gt(f),f ) for f in os.listdir(fromdir)])[1]
4
你可以使用 os.path.getatime
来获取一个文件(或者文件夹)最后被访问的时间,或者使用 os.path.getmtime
来获取最后一次修改的时间。
3
下面这个例子是用来比较文件的修改日期的,不过你当然可以根据需要进行更改,比如把gt
的定义改成os.path.getctime
或者os.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)