我在特定目录中有很多文件,我想在文件创建日期之后重命名扩展名为.txt的所有文件,并添加一个计数器前缀。顺便说一句,我在Windows上使用python。
示例:
假设我有aaa.txt
,bbb.txt
和ccc.txt
文件。
aaa.txt
是最新的文件,ccc.txt
是最早创建的文件。
我想以这样的方式重命名文件:
999_aaa.txt, 998_bbb.txt, 997_ccc.txt ...
计数器应该从999_newest文件开始(我将永远不会有超过300个txt文件)。 就像你可以看到我只想给最新的文件编号最高(按创建日期排序)。
你会怎么做?
答案 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))
供参考: