python 复制文件到指定文件夹_【学习分享】复制指定文件到新文件夹

1 前言

最近工作上碰到个事情,一个文件夹里有有很多款货的图片,每款货又有若干张不同角度拍摄的图片,我们需要把款货的图片整理在一起,放到一个单独的用它货号命名的文件夹里,也就是说如果有100个款的货,那么就要新建100个新文件夹,并且把对应货品放到对应的文件夹里。可以想象,如果用纯手工的方法,可能需要好几个小时的工作量。今天就来分享如何利用python快速的解决这个问题。

2 python的实现方法

① 导入相关的包:

import os
from shutil import copy

如果还没有安装shutil这个包首先需要用下面的命令现状这个包

pip install shutil

② 假设我们的全部图片在“E:\temp\全部图片”这个文件夹里面。

55f6f1a8e532b1709d1da7e53f78353e.png

我们要把新建好的单独的文件夹都放到“E:\temp\拆分后图片”这个文件夹里

分别定义两个变量来表示这两个路径。

file_path1 = r'E:\temp\全部图片'    # 存储所有图片的文件夹
file_path2 = r'E:\temp\拆分后图片' # 存储拆分后文件夹的文件夹

③ 获取所有图片名称的列表

# os.listdir方法可以获取指定路径下所有文件的名称
dir_list = os.listdir(file_path1)

dir_list 就是所有图片名称的一个列表。

19940587837042a813e6caa03cb3cf43.png

④ 利用for循环确定每张图片的路径和将要被复制到的路径。

for pic_name in dir_lists:
from_path = file_path1 + '\\' + pic_name # 图片路径
code = pic_name[:13] # 取出货号
to_path = file_path2 + '\\' + code # 将要复制到的新路径

⑤ 根据这个新的路径创建文件夹,然后把图片复制到新文件夹中

for pic_name in dir_list:
from_path = file_path1 + '\\' + pic_name
code = pic_name[:13]
to_path = file_path2 + '\\' + code

if not os.path.isdir(to_path): # 判断文件夹是否存在
os.makedirs(to_path) # 创建文件夹
copy(from_path, to_path) # 复制文件到文件夹

运行代码后效果如下:

b2cc19dcae087e860bd9461d591c7f28.png

每个小文件夹里都是对应的若干张图片

完整代码如下:

import os
from shutil import copy


file_path1 = r'E:\temp\全部图片' # 存储所有图片的文件夹
file_path2 = r'E:\temp\拆分后图片' # 存储拆分后文件夹的文件夹


dir_list = os.listdir(file_path1)

for pic_name in dir_list:
from_path = file_path1 + '\\' + pic_name
code = pic_name[:13]
to_path = file_path2 + '\\' + code

if not os.path.isdir(to_path):
os.makedirs(to_path)
copy(from_path, to_path)

好了以上就是今天的分享,希望大家可以在工作中用的到。


803123d012e97500e4d3ed4c2388736f.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值