使用 python 重命名文件 - 正则表达式
Posted
技术标签:
【中文标题】使用 python 重命名文件 - 正则表达式【英文标题】:rename files with python - regex 【发布时间】:2011-04-28 08:28:04 【问题描述】:我想用 python 重命名 1k 个文件。它们的格式都是 somejunkDATE.doc
基本上,我想删除所有垃圾,只留下日期。我不确定如何为目录中的所有文件匹配这个。
谢谢
【问题讨论】:
如果我们对DATE
的格式一无所知,我们将无能为力。
垃圾总是一样的,还是每个文件都不一样?另外,日期是什么格式的?
“垃圾”还包含各种类型的字符、符号等,长度随机,相当冗长
【参考方案1】:
如果您的日期格式始终相同,只需使用切片
>>> file="someJunk20101022.doc"
>>> file[-12:]
'20101022.doc'
>>> import os
>>> os.rename(file, file[-12:]
如果要检查数字是否为有效日期,请将file[-12:-3]
传递给time
或datetime
模块进行检查。
假设你的文件都在一个目录中(没有子目录)
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"
【讨论】:
以上是关于使用 python 重命名文件 - 正则表达式的主要内容,如果未能解决你的问题,请参考以下文章