重命名文件并在创建日期后对其进行排序

时间:2013-09-13 11:15:37

标签: python

我在特定目录中有很多文件,我想在文件创建日期之后重命名扩展名为.txt的所有文件,并添加一个计数器前缀。顺便说一句,我在Windows上使用python。

示例:

假设我有aaa.txtbbb.txtccc.txt文件。

aaa.txt是最新的文件,ccc.txt是最早创建的文件。

我想以这样的方式重命名文件:

999_aaa.txt, 998_bbb.txt, 997_ccc.txt ...

计数器应该从999_newest文件开始(我将永远不会有超过300个txt文件)。 就像你可以看到我只想给最新的文件编号最高(按创建日期排序)。

你会怎么做?

1 个答案:

答案 0 :(得分:2)

看看这个未经测试的代码:

import os
import glob
import shutil

# get a list of all txt files
fnames = glob.glob("*.txt")
# sort according to time of last modification/creation (os-dependent)
# reverse: newer files first
fnames.sort(key=lambda x: os.stat(x).st_ctime, reverse=True)
# rename files, choose pattern as you like
for i, fname in enumerate(fnames):
    shutil.move(fname, "%03d_%s" % (999-i, fname))

供参考:

相关问题