Python实验:消除缺失的文件编号

发布时间:2019-08-27 08:02:51编辑:auto阅读(1504)

    #####编写一个程序,在一个文件夹中,找到所有带指定前缀的文件,诸如spam001.txt,spam002.txt 等,并定位缺失的编号(例如存在spam001.txt 和spam003.txt,但不存在spam002.txt)。让该程序对所有后面的文件改名,消除缺失的编号。
    
    
    import shutil, re, os
    filedir = 'C:\\Users\\Loyu\\Desktop\\python1'
    a = os.listdir(filedir)
    alist = ' '.join(a)
    span = re.findall('spam(\d+).txt', alist)
    span.sort()
    j = 0
    lenlist = []
    for i in range(1,len(span)+1):
        newi = str(i)
        newistr = newi.zfill(len(span[0]))
        lenlist.append(newistr)
        if span[i-1] != lenlist[j]:
            shutil.move(filedir + '\\spam' + span[i-1] + '.txt', filedir + '\\spam' + lenlist[j] + '.txt'  )
        j += 1
    print('恭喜你,所有的文件已经按顺序spam' + str(lenlist) + '.txt命名')


关键字