温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python如何实现复制图片到指定文件夹并按顺序重新命名

发布时间:2023-03-11 15:42:51 来源:亿速云 阅读:89 作者:iii 栏目:开发技术

这篇文章主要介绍“Python如何实现复制图片到指定文件夹并按顺序重新命名”,在日常操作中,相信很多人在Python如何实现复制图片到指定文件夹并按顺序重新命名问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python如何实现复制图片到指定文件夹并按顺序重新命名”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

该数据集有360个文件夹

Python如何实现复制图片到指定文件夹并按顺序重新命名

每个文件夹下面有数量不等的照片:

Python如何实现复制图片到指定文件夹并按顺序重新命名

解决代码如下:

import os
import shutil

path2 = r"F:\cyclegan\新建文件夹\Dataset_Part1"
pic=os.listdir(path2)
k=0
for i in range(1,len(pic)):
    path="F:/cyclegan/新建文件夹/Dataset_Part1"+"/"+str(i)
    pic2 = os.listdir(path)
    for j in range(1, len(pic2)):
        k=k+1
        shutil.copy(path+"/"+str(j)+".jpg", "F:/cyclegan/新建文件夹/zong" + "/" + str(k) + ".jpg")

使用两个for循环即可解决问题:

1)os.listdir(path)方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这里输入print(len(pics))就可以返回这个文件夹中文件的数量。

2)shutil.copy(path2,path3)把path2的文件复制到path3

3)写path路径的时候,如何其中存在循环的变量i作为名称的话(比如1.jpg,2.jpg…),i前面一定要有str,不然会报错(也就是将int型转为str型)

当然还遇到了另外一个问题,就是某个文件夹里的照片多了,我需要删除一些。

比如2000+张挑选344张,复制到另外一个文件夹。

代码解决如下:

import os
import shutil
import random
path2 = r"F:\cyclegan\新建文件夹\zong2"
pic=os.listdir(path2)
j=0
for i in range(1,345):
    number = random.randint(1,len(pic))
    j=j+1
    shutil.copy(path2 + "/" + str(number) + ".jpg", "F:/cyclegan/新建文件夹/testA" + "/" + str(j) + ".jpg")

1)这里使用随机数进行动态选择 random。random.randint用来生成整数

2)shutil.copy依然是复制

到此,关于“Python如何实现复制图片到指定文件夹并按顺序重新命名”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI