9.8.3 消除缺失的编号

来源:互联网 发布:mac ntfs 新建文件夹 编辑:程序博客网 时间:2024/06/06 03:44

编写一个程序, 在一个文件夹中, 找到所有带指定前缀的文件, 诸如spam001.txt,spam002.txt等,并定位缺失的编号(例如存在 spam001.txtspam003.txt, 但不存spam002.txt)。让该程序对所有后面的文件改名, 消除缺失的编号。

import reimport osimport sys   import shutilimport zipfileFilenamesList=[]cwd=os.getcwd()regrex=re.compile(r'spam\d{3}.txt')#从指定文件夹里找出符合要求的文件,并将文件的绝对路径放到FilenamesList里面for folder,subfolders,filenames in os.walk(os.path.join(cwd,'test_tree\\')):    for x in filenames:        if regrex.search(x).group()!=None:            FilenamesList.append(os.path.join(folder,x))FilenamesList.sort()#给FilenamesList排序print(FilenamesList)   num=1#检查FilenamesList里面遗漏的文件,显示出来for x in FilenamesList:#    print(int(x[-7:-4]))    while True:            if int(x[-7:-4])==num:            break        print('lost spam'+str(num))        num+=1    num+=1num=1#将所有的文件同一命名for x in FilenamesList:    y=x[:-7]+('%03d'%num)+'.txt'    print(y)    num+=1    shutil.move(x,y)
这个程序还是有点不完善,不过当做练习要不要太在意这些东西了。


原创粉丝点击