idfox2020 2022-05-12 03:09 采纳率: 80%
浏览 110
已结题

python 随机复制指定数量的图片到指定文件夹并重命名图片

import os
from shutil import copy
import random
if name == 'main':
VAL_EXTRACT_NUM = 6 # 随机抽取数量
BASE_PATH = "G:\A\" # 随机抽取路径
VAL_TAR_PATH = "G:\B\" # 拷贝到新路径

data = os.listdir(BASE_PATH)
print("图片数量:%d" % len(data))
# 随机抽取验证集数据
val_extr_img = random.sample(data, VAL_EXTRACT_NUM)
print(val_extr_img)
for f in val_extr_img:
    src = os.path.join(BASE_PATH, f)
    data.remove(f)
    copy(src, VAL_TAR_PATH)
    

到这步能随机复制指定数量的图片到新路径 但我不懂怎么重命名图片名称

比如 S001.JPG 被随机抽到
复制并重命名后 新文件名在原文件名前加 “”正式图片“”
新路径下 复制出一个新文件 正式图片S001.JPG

帮忙结合上面的 给出完整版 不然我不知道怎么完善他

  • 写回答

3条回答 默认 最新

  • hyh123a 全栈领域新星创作者 2022-05-12 03:19
    关注

    添加这两行,具体位置看下面:

            print(VAL_TAR_PATH + f, '   修改为    ' ,VAL_TAR_PATH + '/正式图片_' + f) # 根据这个看下输出是否有问题
            os.rename(VAL_TAR_PATH + f,  VAL_TAR_PATH + '/正式图片_' + f) 
    

    具体修改代码如下,请看注释

    import os
    from shutil import copy
    import random
    
    if __name__ == 'main':
        VAL_EXTRACT_NUM = 6  # 随机抽取数量
        BASE_PATH = "G:\A\" # 随机抽取路径
        VAL_TAR_PATH = "G:\B\" # 拷贝到新路径
    
        data = os.listdir(BASE_PATH)
        print("图片数量:%d" % len(data))
        # 随机抽取验证集数据
        val_extr_img = random.sample(data, VAL_EXTRACT_NUM)
        print(val_extr_img)
        for f in val_extr_img:
            src = os.path.join(BASE_PATH, f)
            data.remove(f)
            copy(src, VAL_TAR_PATH)
            print(VAL_TAR_PATH + f, '   修改为    ' ,VAL_TAR_PATH + '/正式图片_' + f) # 根据这个看下输出是否有问题
            os.rename(VAL_TAR_PATH + f,  VAL_TAR_PATH + '/正式图片_' + f) 
            # os.rename(VAL_TAR_PATH + f,  VAL_TAR_PATH + '正式图片_' + f)  # 因为不确定你的f返回格式是怎样的,大致猜测这样凭借,如果报错,请发出报错文本给我或者自己根据实际情况修改下
    

    如有问题及时沟通

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    idfox2020 2022-05-12 03:39

    谢谢 可以了 可以用了

    回复
    hyh123a 回复 idfox2020 2022-05-12 03:40

    好的
    如有问题及时沟通

    回复
    idfox2020 回复 hyh123a 2022-05-12 04:46

    如果重命名规则改为
    正式文件+(1)
    正式文件+(2)
    正式文件+(3)
    这样的顺序 能运行吗

    回复
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 5月19日
  • 已采纳回答 5月12日
  • 修改了问题 5月12日
  • 创建了问题 5月12日

悬赏问题

  • ¥15 Mysql 一张表同时多人查询和插入怎么防止死锁
  • ¥20 centos6.7 安装libevent库.总是报错,如何解决?
  • ¥15 电脑买回,学校的有线网络总掉。
  • ¥20 关于普洛菲斯触摸屏与AB连接地址问题
  • ¥15 vue但是页面显示的数据为空为什么呀,明明在钩子函数中已经成功赋值(相关搜索:输出数据)
  • ¥15 syri可视化不显示插入缺失
  • ¥30 运行软件卡死查看系统日志分析不出来
  • ¥15 C语言代码改正特征选择算法设计,贝叶斯决策,,设计分类器,远程操作代码修正一下
  • ¥15 String 类valuve指向的问题
  • ¥15 在ros2的iron版本进行编译时遇到如下问题
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部