用Python重命名文件 - 正则表达式

3 投票
1 回答
2893 浏览
提问于 2025-04-16 05:49

我想用Python重命名1000个文件。它们的名字格式都是一些杂乱的内容加上日期,比如somejunkDATE.doc。

简单来说,我想把这些杂乱的内容删掉,只保留日期。我不太确定怎么才能在一个文件夹里对所有文件都进行这样的操作。

谢谢!

1 个回答

7

如果你的日期格式是一样的,可以直接用切片来处理。

>>> file="someJunk20101022.doc"
>>> file[-12:]
'20101022.doc'
>>> import os
>>> os.rename(file, file[-12:]

如果你想检查这些数字是否是有效的日期,可以把 file[-12:-3] 传给 timedatetime 模块来进行检查。

假设你的文件都在一个文件夹里(没有子文件夹)。

import os
import glob
import datetime,time #as required
os.chdir("/mypath")
for files in glob.glob("*.doc"):
    newfilename = files[-12:]
    # here to check date if desired
    try:
       os.rename(files,newfilename)
    except OSError,e:
       print e
    else: print "ok"

撰写回答