9.8.3 消除缺失的编号
编写一个程序,在一个文件夹中,找到所有带指定前缀的文件,诸如 spam001.txt,spam002.txt 等,并定位缺失的编号(例如存在 spam001.txt 和 spam003.txt,但不存在 spam002.txt)让该程序对所有后面的文件改名,消除缺失的编号.
作为附加的挑战,编写另一个程序,在一些连续编号的文件中,空出一些编号,以便加入新的文件.
- 文件 spam001.txt 中的 001 效果,用 str(i).zfill(3) 来实现。
- 用re来查找匹配的文件和序号分成存放文件名和序号
- 用for i in range(len(files_name_list)) 来匹配是否有对应序号,有的跳过。
- 没有的直接用files_number_list[i]直接定位需要重命名的文件,用i+1来重新命名。
# 9.8.3 消除缺失的编号
# 编写一个程序,在一个文件夹中,找到所有带指定前缀的文件,诸如 spam001.txt,spam002.txt 等,
# 并定位缺失的编号(例如存在 spam001.txt 和 spam003.txt,但不存在 spam002.txt).
# 让该程序对所有后面的文件改名,消除缺失的编号.
# 作为附加的挑战,编写另一个程序,在一些连续编号的文件中,空出一些编号,以便加入新的文件.
import random,re,os,shutil
#生成连续的编号文件,随机空出一些编号
def create_files(path,number=10,files_start_na