码迷,mamicode.com
首页 > 其他好文 > 详细

9.8.3 消除缺失的编号

时间:2019-11-02 14:09:18      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:idt   group   修改文件名   dir   名称   enum   for   dict   shu   

 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 消除缺失的编号

标签:idt   group   修改文件名   dir   名称   enum   for   dict   shu   

原文地址:https://www.cnblogs.com/simonxu0559/p/11781194.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!