переименовывать файлы с помощью python - regex - PullRequest
2 голосов
/ 21 октября 2010

Я хочу переименовать файлы 1k, используя python.все они в формате somejunkDATE.doc

в принципе, я хотел бы удалить все ненужные и оставить только дату.Я не уверен, как сопоставить это для всех файлов в каталоге.

спасибо

1 Ответ

7 голосов
/ 21 октября 2010

Если у вас одинаковый формат даты, просто используйте нарезку

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