2010-10-21 30 views
1

我想使用python重命名1k文件。他们都是格式somejunkDATE.doc使用python重命名文件 - 正则表达式

基本上,我想删除所有的垃圾,只留下日期。我不确定如何匹配目录中的所有文件。

感谢

+1

我们不能帮助,如果我们一无所知DATE'是如何'格式化。 – JoshD 2010-10-21 00:11:15

+1

垃圾总是一样的,还是每个文件都不一样?另外,日期的格式是什么? – kindall 2010-10-21 00:11:33

+0

yyyymmdd谢谢 – bernard 2010-10-21 00:18:31

回答

6

如果你的日期格式始终相同,如果要检查,如果数字是有效的日期,通过file[-12:-3]timedatetime检查模块只使用切片

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

说你的文件都是在一个目录(不子目录)

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" 
+0

非常酷。谢谢 – bernard 2010-10-21 00:27:07

+0

成功。再次感谢 – bernard 2010-10-21 00:45:24

相关问题