1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
import pandas as pd import numpy as np import os, re import shutil
def get_file_base_name(name): """ 去掉文件后缀名 参数:name(str) 原始文件名 """ while re.search(r"(\.[a-z]+$)|(\.[0-9]+$)",name): name = os.path.splitext(name)[0] return os.path.splitext(name)[0]
def purge(fd): """ 删除Creo软件的旧档文件 删除多重版本的文件(多重后缀名的文件),保留最新版本文件。并去除版本号后缀 参数:fd(str) 文件夹名称 """ ls1 = [os.path.join(p, i) for p, d, f in os.walk(fd) for i in f] ls2 = [get_file_base_name(i) for i in ls1] ls3 = set([i for i in ls2 if ls2.count(i)>1]) for i in ls3: ls =[x for x in ls1 if i in x ] if len(ls)>1: print(i,sorted(ls)) for j in sorted(ls)[:-1]: os.remove(j) ls4 = [os.path.join(p, i) for p, d, f in os.walk(fd) for i in f if re.search(r'\.[a-z]+\.\d+$', i)] if len(ls4)>1: for i in ls4: name = os.path.splitext(i)[0] shutil.move(i, name) if __name__ == "main": fd = "D:\3D" purge(fd)
|