假定你的老板用电子邮件发给你上千个文件,文件名包含美国风格的日期(MM-DD-YYYY),需要将它们改名为欧洲风格的日期(DD-MM-YYYY)
注:以下只简单实现了一下,其中由于不熟悉正则表达式,所以正则表达式部分是随意写的,后续熟悉后,再来优化
import re,os,shutil
reg=re.compile(r'(\d\d)-(\d\d)-(\d\d\d\d)')
filenames=os.listdir('D:\\photo')
for filename in filenames:
if(reg.search(filename)!=None):
month=reg.search(filename).group(1)
day=reg.search(filename).group(2)
year=reg.search(filename).group(3)
source='D:\\photo\\'+filename
destination='D:\\photo\\newfiles\\{}-{}-{}'.format(day,month,year)+filename[10:]
shutil.move(source,destination)#移动并改名