python copy/delete 同名图片

import os
import shutil
import os.path as osp

chosen_path = "/选择图片路径/"
new_path = "/生成图片路径/"
os.makedirs(new_path, exist_ok=True)
all_path = "/总的图片路径/"

index = 0
###copy/delete 单级目录
# for files in os.listdir(chosen_path):
#     filesa = os.path.splitext(files)[0]
#     #print("filesa:"+filesa)
#     filesa = (filesa + ".jpg")
#     for m in os.listdir(all_path):
#         # print("filesa", str(filesa))
#         # print("m", str(m))
#         if str(m) == str(filesa):
#             print("filesa:", filesa)
#             print("m:", m)
#             print(files)
#             #shutil.copy(os.path.join(path,m),new_path)
#             shutil.copy(os.path.join(all_path, m), new_path)
#             #newp = os.path.join(new_path, m)
#             #newp=os.path.join(new_path,m)
#             #os.remove(os.path.join(dir_path, files))
#             #print('成功删除文件:', os.path.join(dir_path, files))
#             index = index + 1
#             #print("copy %s to new path:"%(m) + newp)
# print("down 共复制%s张图"%(index))

###delete/copy 多级目录
for root_chosen_path, dirs, files in os.walk(chosen_path):
    print("root_chosen_path:", root_chosen_path)
    # print("dirs:", dirs)
    # print("files:", files)
    for chosen_name in files:
        #print("chosen_name",chosen_name)
        file_dir_path = root_chosen_path.split("/")[-1]       
        file_gt_name = chosen_name.replace("jpg","png")       
        chosen_img_path = osp.join(root_chosen_path, chosen_name)
        for root_all_path, dirs_, files_ in os.walk(all_path):
            # print("root_all_path:", root_all_path)
            #root_all_path_name = osp.split(root_all_path)[1].split("/")[-1]           
            for all_name in files_:
                if file_gt_name == all_name:
                    print("chosen_name###################################:", chosen_name)
                    print("chosen_img_path:", chosen_img_path)
                    print("file_dir_path:", file_dir_path)
                    print("file_gt_name:",file_gt_name)
                    all_img_path = osp.join(root_all_path, all_name)
                    #print("all_img_path:", all_img_path)
                    #print("root_all_path_name:", root_all_path_name)
                    new_path_copy = osp.join(new_path, file_dir_path)
                    os.makedirs(new_path_copy, exist_ok=True)
                    shutil.copy(all_img_path, new_path_copy)
                    # os.remove(all_img_path)
                    # print('成功删除文件:', all_img_path)
                    print("copy %s to new path:"%(all_img_path) + new_path_copy)
                    index = index + 1
                else:
                    continue
print("done!, a total of %s picture are copyed."%(index))

#按帧删除图片
# for files in os.listdir(dir_path):
#     filesa = os.path.splitext(files)[0]
#     print(filesa)
#     frame = filesa.split('_')[-1]
#     print(int(frame))
#     remainder = int(frame) % 25
#     print(remainder)
#     if  remainder == 0:
#         os.remove(os.path.join(dir_path, files))
#         index = index + 1
#         print('成功删除文件:', files)
# print("done!, a total of %s picture are deleted."%(index))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值