flying-wyf

python编程快速上手之第9章实践项目参考答案(9.8.3)

勉强实现了,不是很满意。需要要手动循环,不知有高人可以指教否?

 1 import os,shutil,re
 2 sourcefolder ='C:\\Users\\Administrator\\Python35-32\\test\\dismissno'#指定文件夹
 3 os.chdir(sourcefolder)
 4 for m in range(100):    #循环100次
 5   for folderName, subfolders, filenames in os.walk(sourcefolder): #遍历文件树,获取文件名列表
 6     for n in range(len(filenames)-1):
 7       #获取第一个文件的编号
 8       fileno1 = int(re.compile(r'(capitalsquiz_answers)(\d+)').search(filenames[n]).group(2))
 9       #获取第二个文件的编号
10       fileno2 = int(re.compile(r'(capitalsquiz_answers)(\d+)').search(filenames[n+1]).group(2))
11       #比较编号是否相邻
12       if fileno2-fileno1 !=1:
13         #如不相邻则改名为后一编号
14         os.rename(filenames[n+1],'capitalsquiz_answers'+'%03d'%(fileno1+1)+'.txt')
15         print('done')
16   #注意:改名后必须从新获取一次文件名列表,否则不会全部改完。所以才设定100次手动循环。

 

posted on 2017-04-19 00:30  flying-wyf  阅读(161)  评论(3)    收藏  举报

导航