9.8.3 消除缺失的编号
Posted simonxu0559
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9.8.3 消除缺失的编号相关的知识,希望对你有一定的参考价值。
1 import os, shutil, re 2 3 # 定义文件前缀、后缀(也可由用户输入) 4 prefix = ‘capitalsquiz‘ 5 suffix = ‘.txt‘ 6 7 # 创建正则表达式用于提取文件名中的编号 8 fileRegex = re.compile(‘^‘ + prefix + r‘(d+)‘ + suffix + ‘$‘) 9 10 # 提取文件名中的编号,用文件名、文件编号构成键值对创建字典 11 dictNameNum = {} 12 for fileName in os.listdir(‘.‘): 13 mo = fileRegex.search(fileName) 14 if mo != None: 15 dictNameNum[int(mo.group(1))] = fileName 16 17 # 循环遍历文件编号,找到缺失的文件编号,将当前最后一个文件编号对应的文件名修改为缺失的文件编号对应的文件名 18 index = 1 19 maxNumber = max(dictNameNum.keys()) 20 width = len(str(maxNumber)) 21 while index < maxNumber: 22 if index not in dictNameNum.keys(): # 找到缺失的文件编号 23 shutil.move(dictNameNum[maxNumber], prefix + str(index).rjust(width, ‘0‘) + suffix) # 修改文件名称 24 del dictNameNum[maxNumber] # 删除已处理的文件编号 25 maxNumber = max(dictNameNum.keys()) # 计算当前最大文件编号 26 index += 1
以上是关于9.8.3 消除缺失的编号的主要内容,如果未能解决你的问题,请参考以下文章