批量复制文件

文件夹下有300个子文件夹,每个子文件夹下面都有一个1.png文件,想要将所有的300个1.png文件复制到另一个文件夹下

1
2
3
4
5
6
7
8
9
10
11
12
import os,shutil
path = r"E:\doc\DocTr\DocTr_GAN_nobgc_6_eeeeeeend" # 文件路径
des = r"C:\Users\Administrator\Desktop\28" # 目标路径
a = 1
file = '1.png'
for dir in os.listdir(path):
b = os.path.join(path, dir, file)
newname = "{}_rec.png".format(a)
dest = os.path.join(des, newname)
shutil.copyfile(b, dest) #复制文件到默认路径
a = a+1

上面shutil.copyfile用来复制单个文件,shutil.copytree则用来复制文件夹,如下

1
2
3
4
5
6
7
8
import os,shutil
path = r"/data/wangyh/data4/Datasets/shadow/video_new/visha2/test/images" # 文件夹路径
des = r"/data/wangyh/data4/video_shadow_detection/segment3/video"
for _dir in os.listdir(des):
b = os.path.join(des, _dir, "images")
if os.path.exists(b): # 需要检查目标路径是否存在相应文件夹
shutil.rmtree(b)
shutil.copytree(path, b) #复制文件夹到默认路径