【问题标题】:rename files with python - regex使用 python 重命名文件 - 正则表达式
【发布时间】:2011-04-28 08:28:04
【问题描述】:

我想用 python 重命名 1k 个文件。它们的格式都是 somejunkDATE.doc

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

谢谢

【问题讨论】:

  • 如果我们对DATE 的格式一无所知,我们将无能为力。
  • 垃圾总是一样的,还是每个文件都不一样?另外,日期是什么格式的?
  • “垃圾”还包含各种类型的字符、符号等,长度随机,相当冗长

标签: python regex file rename


【解决方案1】:

如果您的日期格式始终相同,只需使用切片

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-14
    • 2017-08-10
    • 2018-08-22
    • 2018-02-27
    • 2016-08-22
    • 2020-08-13
    • 2020-10-19
    相关资源
    最近更新 更多