random_del.py 1.2 KB

1234567891011121314151617181920212223242526272829
  1. # 按照比例随机删除某个路径下的图像
  2. import os
  3. import random
  4. def main():
  5. # TODO:需要修改图像路径
  6. path = r'D:\code\water_turbidity_det\frame_data\1_ch25_20260105084338'
  7. del_rate = 0.3
  8. img_path = [i for i in os.listdir(path) if i.split('.')[-1] in ['jpg', 'png'] ]
  9. is_del = input(f'{path}路径内共有{len(img_path)}张图片,是否删除{del_rate}比例的图片?(y/n): ')
  10. is_change_rate = input('是否修改删除比例?(y/n): ')
  11. if is_change_rate.lower() == 'y':
  12. del_rate = float(input('请输入删除比例:'))
  13. if is_del.lower() == 'y':
  14. random.shuffle(img_path)
  15. del_list = img_path[:int(len(img_path)*del_rate)]
  16. for i in del_list:
  17. target_path = os.path.join(path, i)
  18. if os.path.isfile(target_path): # 或者使用 os.path.exists(file_path)
  19. os.remove(target_path)
  20. print("文件删除成功。",target_path)
  21. print(f"文件数量: {len(img_path)}")
  22. print(f"删除比例: {del_rate}")
  23. print(f"删除数量: {len(del_list)}")
  24. print(f'剩余数量: {len(img_path)-len(del_list)}')
  25. else:
  26. exit()
  27. if __name__ == '__main__':
  28. main()