import os
def del_files(test_path):
for root, dirs, files in os.walk(test_path):
cur_path = os.getcwd()
update_path = os.getcwd()#cur_path\update_path是我觉得用的最好的地方
for name in files:
files_size = len(files)
update_path = root
if update_path != cur_path:
flag = 0
if name.endswith(".jpg"): #指定要删除的格式,这里是jpg 可以换成其他格式
flag += 1
if(flag < files_size-39):
os.remove(os.path.join(root, name))
cur_path = root
print ("Delete File: " + os.path.join(root, name))
else: break
# test
if __name__ == "__main__":
dir_path = os.path.join(os.getcwd(),'data_train')
path = os.path.join(dir_path,'train')
del_files(path)
print('end')
这里面的主要思想是利用这个时刻与上个时刻所在文件夹的名称不同,我觉得可以之后用在很多种情况下。还有就是因为考虑到每个文件夹的图片数不一样,而最后要保证每个文件夹图片数相同,所以需要知道文件夹的长度
仅仅做下笔记,怕以后找不到
参考了这位博主的代码:
python删除指定文件夹下特定格式文件的方法