You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何保持PNG与JSON文件关联的同时随机重命名配对文件?

配对PNG/JSON文件随机重命名方案

实现步骤

  • 提前创建空的目标文件夹,避免与原文件产生冲突
  • 提取原文件夹中所有1-1000的配对编号
  • 生成1-1000的随机打乱序列,保证每个编号唯一不重复
  • 遍历每一对原文件,复制到目标文件夹并替换为新编号

Python代码实现

import os
import shutil
import random

# 替换为你的实际路径
source_dir = "原文件所在文件夹路径"
target_dir = "新文件夹路径"

# 创建目标文件夹(不存在则自动生成)
os.makedirs(target_dir, exist_ok=True)

# 生成原编号列表并随机打乱
original_nums = list(range(1, 1001))
random.shuffle(original_nums)
# 构建原编号到新编号的一一映射
num_mapping = dict(zip(original_nums, range(1, 1001)))

# 批量处理文件对
for old_num, new_num in num_mapping.items():
    # 处理PNG文件
    old_png_path = os.path.join(source_dir, f"{old_num}.png")
    new_png_path = os.path.join(target_dir, f"{new_num}.png")
    if os.path.exists(old_png_path):
        shutil.copy2(old_png_path, new_png_path)
    
    # 处理JSON文件
    old_json_path = os.path.join(source_dir, f"{old_num}.json")
    new_json_path = os.path.join(target_dir, f"{new_num}.json")
    if os.path.exists(old_json_path):
        shutil.copy2(old_json_path, new_json_path)

print("文件复制并重命名完成")

关键细节说明

  • 编号唯一性:通过random.shuffle打乱原编号序列,再与1-1000的有序序列配对,确保新编号无重复
  • 文件完整性:使用shutil.copy2复制文件时会保留原文件的元数据(如创建时间),若只需复制内容可改用shutil.copy
  • 容错机制:加入os.path.exists判断,避免因个别文件缺失导致程序中断

内容的提问来源于stack exchange,提问作者Nilo dos Santos Orlandi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 04:36:07