2025-10-21 11:07:29 +08:00
|
|
|
import os
|
|
|
|
|
import shutil
|
|
|
|
|
|
|
|
|
|
# ================= 用户配置 =================
|
2025-11-03 16:10:50 +08:00
|
|
|
FOLDER_PATH = '/media/hx/04e879fa-d697-4b02-ac7e-a4148876ebb0/dataset/20251020' # 图片和 txt 所在文件夹
|
2025-10-21 11:07:29 +08:00
|
|
|
IMG_EXT = '.jpg'
|
|
|
|
|
TXT_EXT = '.txt'
|
2025-11-03 16:10:50 +08:00
|
|
|
START_NUM = 571 # 从 1 开始编号
|
2025-10-21 11:07:29 +08:00
|
|
|
|
|
|
|
|
# ================= 获取文件列表 =================
|
|
|
|
|
files = os.listdir(FOLDER_PATH)
|
|
|
|
|
|
|
|
|
|
# 分别筛选图片和 txt
|
|
|
|
|
images = sorted([f for f in files if f.lower().endswith(IMG_EXT)])
|
|
|
|
|
txts = sorted([f for f in files if f.lower().endswith(TXT_EXT)])
|
|
|
|
|
|
|
|
|
|
# 检查数量是否一致
|
|
|
|
|
if len(images) != len(txts):
|
|
|
|
|
print(f"⚠️ 图片数量 ({len(images)}) 与 txt 文件数量 ({len(txts)}) 不一致!")
|
|
|
|
|
|
|
|
|
|
# ================= 重命名 =================
|
|
|
|
|
for idx, (img_file, txt_file) in enumerate(zip(images, txts), start=START_NUM):
|
|
|
|
|
img_new = f"{idx}{IMG_EXT}"
|
|
|
|
|
txt_new = f"{idx}{TXT_EXT}"
|
|
|
|
|
|
|
|
|
|
# 原始完整路径
|
|
|
|
|
img_path = os.path.join(FOLDER_PATH, img_file)
|
|
|
|
|
txt_path = os.path.join(FOLDER_PATH, txt_file)
|
|
|
|
|
|
|
|
|
|
# 新路径
|
|
|
|
|
img_new_path = os.path.join(FOLDER_PATH, img_new)
|
|
|
|
|
txt_new_path = os.path.join(FOLDER_PATH, txt_new)
|
|
|
|
|
|
|
|
|
|
# 重命名(如果已经存在则覆盖)
|
|
|
|
|
shutil.move(img_path, img_new_path)
|
|
|
|
|
shutil.move(txt_path, txt_new_path)
|
|
|
|
|
|
|
|
|
|
print(f"✅ {img_file} -> {img_new}, {txt_file} -> {txt_new}")
|
|
|
|
|
|
|
|
|
|
print("🎉 全部文件重命名完成!")
|