拷贝图片

地址是固定的,代码的功能是能实现复制一张图片到一个文件夹里面,也能将一个文件夹里面的所有的图片,按照图片的名字生成相对应的文件夹,并且在文件夹里面放置拷贝的图片
主要用到的函数是:
import shutil 这个是引入的模板
shutil.copy(要复制的图片的地址,目的地址)

具体的代码如下:
import shutil
import os

def copy_photo():
# 用来生成文件名称列表
# 设置选择是复制单个图片,还是一个文件夹中的所有图片
print("选择复制一张图片,还是复制一个文件夹中的所有图片")
choice = input("一张图片输入one,文件夹中的所有图片输入all:")
print(choice)
if choice == "one":
copy_single_photo()
if choice == "all":
copy_many_photo()
if choice != "one" and choice != "all":
print("请输入正确的需求")
return

def copy_single_photo():
# 复制一张图片的函数,而生成的图片名称
print("复制一张图片")
#单个图片的地址
single_photo_add = "D:\face_data\single_photo\huge.jpg"
# 对上面的字符串进行分割,从而得到图片的名字
split_add = single_photo_add.split("\")
print(split_add[3])
photo_name = split_add[3].split(".")[0]
print(photo_name)

# 通过文件名生成相对应的文件夹
mkpath = "D:\face_data\many_photo" + "\" + photo_name

# 判断文件名是不是已经存在
isExit = os.path.exists(mkpath)

if not isExit:
# 创建文件夹
os.makedirs(mkpath)
print("创建成功"+mkpath)
# 生成很多张图片名字
photo_name_list = single_photo_name(mkpath)
for i in range(0,1000):
shutil.copy(single_photo_add,photo_name_list[i])
print("成功复制第"+str(i)+"次")
print(photo_name_list)
else:
print("文件已经存在了")
return
return


def copy_many_photo():
# 复制一个文件夹下的所有图片,而生成的图片名称
print("复制一个文件夹下的所有图片")
# 这个要读取文件里面的所有文件的名字
folder_name = "D:\face_data\single_photo"
file_name = os.listdir(folder_name)
# print(file_name)
for i in file_name:
photo_name_add = folder_name + "\"+ i
photo_name = i.split(".")[0]
mkdir = "D:\face_data\many_photo" + "\" + photo_name
isExit = os.path.exists(mkdir)
if not isExit:
os.makedirs(mkdir)
else:
print("文件夹已经存在")
return
photo_name_list = single_photo_name(mkdir)
for i in range(0,1000):
shutil.copy(photo_name_add,photo_name_list[i])
print("成功复制"+photo_name+"的图片")
return

def single_photo_name(mkpath):
print("创建文件名字")
# 将文件名字放到一个列表中
photo_name_list = []
# 弄1000张图片
for i in range(0,1000):
name = mkpath + "\"+str(i)+".jpg"
photo_name_list.append(name)
return photo_name_list

if __name__=="__main__":
copy_photo()
 
原文地址:https://www.cnblogs.com/MyUniverse/p/10665219.html