原始错误
改进后的编码:
import os,shutil,re datepattern=re.compile(r"""(.*?)#正则匹配带有日期的文件 ((0|1)?\d)- ((0|1|2|3)?\d)- ((19|20)\d\d) (.*)?$ """,re.VERBOSE) for amerfilename in os.listdir('.'):#查找带有日期的文件 mo=datepattern.search(amerfilename) if mo!=None: break part1=mo.group(1) part2=mo.group(2) part3=mo.group(4) part4=mo.group(6) part5=mo.group(8) eurofilename=part1+part3+'-'+part2+'-'+part4+part5#日期文件重命名 absworkdir=os.path.abspath('.') amerfilename=os.path.join(absworkdir,amerfilename) eurofilename=os.path.join(absworkdir,eurofilename) print('renaming "%s" to "%s"'%(amerfilename,eurofilename))#测试输出重命名是否正确 shutil.move(amerfilename,eurofilename)