这个项目网上的答案没有觉得满意的,没有严格按题目要求来,尤其是都没有写附加挑战的答案。
首先项目要求要定位缺失的编号,所以代码要找出哪些编号缺失了,但是网上的那些答案这一步都没做。
另外,附加挑战还没发现有人写代码,没人挑战,那就由我来做吧。第一部分是‘消除缺失的编号’的代码,第二部分是附加挑战的代码。
先看项目要求:
‘’9.8.3 消除缺失的编号:
编写一个程序,在一个文件夹中,找到所有带指定前缀的文件,诸如spam001.txt, spam002.txt等,并定位缺失的编号(例如存在spam001.txt和spam003.txt,但不存在spam002.txt)。让该程序对所有后面的文件改名,消除缺失的编号。
作为附加的挑战,编写另一个程序,在一些连续编号的文件中,空出一些编号,以便加入新的文件。‘’
下面上代码:
1.消除缺失的编号:
import re, os, shutil
#定位缺失编码并打印出哪些编号缺失。
reg=re.compile(r'test(\d\d\d)\.py')
files=os.listdir('.')
fnl=[] #文件名编号列表
fls=[] #文件名列表
for file in files:
if reg.search(file):
no=reg.search(file).group(1)
fnl.append(no)
fnl.sort()
a=1