当前位置: 首页 > news >正文

【python】使用python将360个文件夹里的照片,全部复制到指定的文件夹中,并且按照顺序重新命名

最近要做一个图像生成的课题,在网上找了一个混合的数据集。这个数据集中一共有360个文件夹,然后文件夹中有6-9张不等的照片,我的目标就是编写python代码将所有的照片取出来,放到一个指定的文件夹里,并且从1开始按照顺序进行编号。

该数据集有360个文件夹
在这里插入图片描述
每个文件夹下面有数量不等的照片:
在这里插入图片描述

解决代码如下:

import os
import shutilpath1 = 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+1shutil.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+1shutil.copy(path1 + "/" + str(number) + ".jpg", "F:/cyclegan/新建文件夹/testA" + "/" + str(j) + ".jpg")

1)这里使用随机数进行动态选择 random。random.randint用来生成整数
2)shutil.copy依然是复制


http://www.lryc.cn/news/34043.html

相关文章:

  • 【C语言】3天速刷C语言(初识)
  • 如何搞定MySQL锁(全局锁、表级锁、行级锁)?这篇文章告诉你答案!太TMD详细了!!!
  • 云计算生态该怎么做?阿里云计算巢打了个样
  • 小樽C++ 多章⑧ (贰) 指针与数组
  • MXNet的机器翻译实践《编码器-解码器(seq2seq)和注意力机制》
  • RK3588平台开发系列讲解(同步与互斥篇)自旋锁介绍
  • Linux系统CPU占用率较高问题排查思路
  • 源码解析——HashMap
  • Elasticsearch 核心技术(六):内置的 8 种分词器详解 + 代码示例
  • Mysql8.0的特性
  • JDK动态代理(tedu)(内含源代码)
  • 【数据结构】二叉搜索树
  • 抢跑数字中国建设,青岛市统计系统考察团赴实在智能调研统计数字员工
  • 深浅拷贝——利用模拟实现basic_string深入理解
  • 大模型分布式系统
  • 【时序】时序预测任务模型选择如何选择?
  • 重温数据结构与算法之深度优先搜索
  • STM32F103驱动LD3320语音识别模块
  • 2023 最新可用Google镜像地址 长期更新
  • MATLAB算法实战应用案例精讲-【优化算法】蝗虫优化算法(GOA)及其算法变种(附matlab和python代码实现)
  • 数据结构与算法 顺序表、链表总结
  • Nginx集群搭建-三台
  • 【算法】图的存储和遍历
  • 文件如何批量复制保存在多个文件夹中
  • 16N60-ASEMI高压MOS管16N60
  • Open3D 多个点云配准(C++版本)
  • java实现Hbase 增删改查
  • 1109. 航班预订统计 差分数组
  • 图床搭建,使用typora上传
  • 低代码开发的优势是什么?