Python实现复制图片到指定文件夹并按顺序重新命名
作者:今天一定要洛必达 发布时间:2022-04-25 18:53:06
标签:Python,复制,图片,文件夹
最近要做一个图像生成的课题,在网上找了一个混合的数据集。这个数据集中一共有360个文件夹,然后文件夹中有6-9张不等的照片,我的目标就是编写python代码将所有的照片取出来,放到一个指定的文件夹里,并且从1开始按照顺序进行编号。
该数据集有360个文件夹
每个文件夹下面有数量不等的照片:
解决代码如下:
import os
import shutil
path1 = r"F:\cyclegan\新建文件夹\Dataset_Part1"
pic=os.listdir(path1)
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(path1,path2)把path1的文件复制到path2
3)写path路径的时候,如何其中存在循环的变量i作为名称的话(比如1.jpg,2.jpg…),i前面一定要有str,不然会报错(也就是将int型转为str型)
当然还遇到了另外一个问题,就是某个文件夹里的照片多了,我需要删除一些。
比如2000+张挑选344张,复制到另外一个文件夹。
代码解决如下:
import os
import shutil
import random
path1 = r"F:\cyclegan\新建文件夹\zong2"
pic=os.listdir(path1)
j=0
for i in range(1,345):
number = random.randint(1,len(pic))
j=j+1
shutil.copy(path1 + "/" + str(number) + ".jpg", "F:/cyclegan/新建文件夹/testA" + "/" + str(j) + ".jpg")
1)这里使用随机数进行动态选择 random。random.randint用来生成整数
2)shutil.copy依然是复制
来源:https://blog.csdn.net/weixin_46274756/article/details/129396855
0
投稿
猜你喜欢
- 针对border边框属性在浏览器中的渲染方式很早以前就开始在QQ群中看到大家在讨论,而我也一直以border:0 none;的方式处理。其中
- 本文列出了HTML4标签的默认样式列表,对网页设计者来说这个应该很有用。原文来自:W3C (http://www.w3.org/TR/CSS
- iframe的防插与强插(一)中介绍了“市面上”能见到的两种防御被第三方网站iframe的方法,以及相应的变态突破方法。貌似把“受害人”逼上
- 1. 返回列表和标量(Scalar)前面我们注意到Query对象可以返回可迭代的值(iterator value),然后我们可以通过for
- mktime()方法是localtime()反函数。它的参数是struct_time或全9元组,它返回一个浮点数,为了兼容时ti
- 现将几种主要情况进行小结: 一、如何输入NULL值 如果不输入null值,当时间为空时,会默认写入"1900-01-01"
- 这篇分享几个在地址栏实现的Javascript有趣效果和应用。能在浏览器地址栏实现的效果太多了,字体放大、显示所有图片、显示Cookie等等
- 代码如下:<title>雷锋|优酷-专辑 采集程序</title></head> &
- 一般我们能过VS2005的SQL explorer来添加一个本地的MDF文件。也许你可能会出现下面这个问题:Exception Detail
- 1、模拟退火算法退火是金属从熔融状态缓慢冷却、最终达到能量最低的平衡态的过程。模拟退火算法基于优化问题求解过程与金属退火过程的相似性,以优化
- Python的装饰器可以实现在代码运行期间修改函数的上下文, 即可以定义函数在执行之前进行何种操作和函数执行后进行何种操作, 而函数本身并没
- 当我们的文章表中没有对于文章的评论数字段时,我们该这么写sql语句来显示出评论最多的文章呢?下面本站给大家收集了几种方法,仅供参考:1.se
- 主要代码如下: total = application("All
- 对于个人网站来说,受到建站条件的制约,Access数据库成了广大个人网站站长的首选。然而,Access数据库本身存在很多安全隐患,攻击者一旦
- 就MySQL而言,大多数程序员都不太了解其设计背景,因此当他们尝试创建自己的数据库时,会留下很多漏洞。要想为MySQL数据库进行合适的配置,
- 很多人都将<数据库设计范式>作为数据库表结构设计“圣经”,认为只要按照这个范式需求设计,就能让设计出来的表结构足够优化,既能保证
- 我用asp+access写程序, sql="select *&
- 1.php安装。2.下载redis并编译(最好是在 /usr/local目录下运行该命令)# wget http://download.re
- 怎么用javascript进行拖拽本文译自:http://www.webreference.com/programming/javascri
- 一、获取二叉树的深度就是二叉树最后的层次,如下图:实现代码:def getheight(self): &n