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

作者:今天一定要洛必达 时间:2022-04-25 18:53:06 

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

该数据集有360个文件夹

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

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

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

解决代码如下:

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

标签:Python,复制,图片,文件夹
0
投稿

猜你喜欢

  • 如何更改mysql命令下提示信息

    2010-10-25 19:48:00
  • python获取当前计算机cpu数量的方法

    2023-08-01 14:20:03
  • Oracle 实现类似SQL Server中自增字段的一个办法

    2009-08-02 07:51:00
  • 十几行的超简日历组件(兼容FF)js源码

    2010-08-08 08:49:00
  • Python高阶函数与装饰器函数的深入讲解

    2023-10-04 12:42:41
  • python生成随机验证码(中文验证码)示例

    2022-07-28 05:41:58
  • asp如何创建一个功能强大的文档管理程序?

    2009-11-15 17:44:00
  • python版飞机大战代码分享

    2023-11-13 22:29:03
  • python manim实现排序算法动画示例

    2021-11-10 10:41:58
  • 用browsercam做用户登录后页面的兼容性测试

    2008-12-29 12:05:00
  • asp会员系统如何实现“忘记密码”

    2007-09-19 12:17:00
  • Python+Opencv答题卡识别用例详解

    2021-09-08 22:16:13
  • ip地址和身份证的js验证代码

    2007-12-29 21:49:00
  • 解决Python pandas plot输出图形中显示中文乱码问题

    2023-03-14 21:39:59
  • 使用HTML5中的canvas进行图形图像.游戏.动画开发时,不需要双缓冲机制

    2010-04-01 12:21:00
  • golang解析网页利器goquery的使用方法

    2023-10-13 06:36:12
  • Python PIL库图片灰化处理

    2022-08-18 20:57:30
  • Oracle数据库3种关闭方式

    2008-06-13 16:46:00
  • 详细介绍ASP内置对象Response

    2008-06-23 12:42:00
  • 深入了解Django中间件及其方法

    2022-04-22 09:19:10
  • asp之家 网络编程 m.aspxhome.com