random_del.py 860 B

12345678910111213141516171819202122232425
  1. # 按照比例随机删除某个路径下的图像
  2. import os
  3. import random
  4. def main():
  5. # TODO:需要修改图像路径
  6. path = r'D:\code\water_turbidity_det\label_data\test\0'
  7. del_rate = 0.3
  8. img_path = [i for i in os.listdir(path) if i.split('.')[-1] in ['jpg', 'png'] ]
  9. random.shuffle(img_path)
  10. del_list = img_path[:int(len(img_path)*del_rate)]
  11. for i in del_list:
  12. target_path = os.path.join(path, i)
  13. if os.path.isfile(target_path): # 或者使用 os.path.exists(file_path)
  14. os.remove(target_path)
  15. print("文件删除成功。",target_path)
  16. print(f"文件数量: {len(img_path)}")
  17. print(f"删除比例: {del_rate}")
  18. print(f"删除数量: {len(del_list)}")
  19. print(f'剩余数量: {len(img_path)-len(del_list)}')
  20. if __name__ == '__main__':
  21. main()