Files
zjsh_yolov11/yolo11_point/del_json.py
2025-08-13 12:53:33 +08:00

60 lines
2.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import os
import glob
def delete_json_files(folder_path, recursive=True, confirm=True):
"""
删除指定文件夹中的所有 .json 文件
:param folder_path: 要操作的文件夹路径
:param recursive: 是否递归删除子文件夹中的 .json 文件
:param confirm: 是否在删除前要求用户确认
"""
if not os.path.exists(folder_path):
print(f"❌ 路径不存在: {folder_path}")
return
if not os.path.isdir(folder_path):
print(f"❌ 路径不是文件夹: {folder_path}")
return
# 查找所有 .json 文件
pattern = os.path.join(folder_path, "**", "*.json") if recursive else os.path.join(folder_path, "*.json")
json_files = glob.glob(pattern, recursive=recursive)
if not json_files:
print(f"✅ 在 {folder_path} 中未找到任何 .json 文件")
return
print(f"🔍 找到 {len(json_files)} 个 .json 文件:")
for f in json_files:
print(f" - {f}")
if confirm:
answer = input("\n⚠️ 确认要删除这些文件吗?(y/N): ").strip().lower()
if answer not in ('y', 'yes'):
print("❌ 取消操作,未删除任何文件。")
return
# 执行删除
deleted_count = 0
for json_file in json_files:
try:
os.remove(json_file)
print(f"🗑️ 已删除: {json_file}")
deleted_count += 1
except Exception as e:
print(f"❌ 删除失败 {json_file}: {e}")
print(f"\n🎉 删除完成!共删除 {deleted_count} 个 .json 文件。")
# ================== 用户配置区 ==================
FOLDER_PATH = "/home/hx/yolo/test/folder_end" # ✅ 修改为你要删除 JSON 文件的文件夹路径
RECURSIVE = True # True: 删除所有子文件夹中的 .jsonFalse: 只删除当前文件夹
CONFIRM_BEFORE_DELETE = True # 是否每次删除前确认(推荐开启)
# ================== 执行删除 ==================
if __name__ == "__main__":
# ⚠️ 请先修改 FOLDER_PATH 为你的实际路径!
if FOLDER_PATH == "your_folder_path_here":
print("❌ 请先修改 FOLDER_PATH 为你要操作的文件夹路径!")
else:
delete_json_files(FOLDER_PATH, RECURSIVE, CONFIRM_BEFORE_DELETE)