- N +

10054-1-将所有图片提取到目标文件夹-修改或替换图片后,最后用这个还原【源代码】

10054-1-将所有图片提取到目标文件夹-修改或替换图片后,最后用这个还原【源代码】原标题:10054-1-将所有图片提取到目标文件夹-修改或替换图片后,最后用这个还原【源代码】

导读:

它主要实现了将源文件夹下各子文件夹中的图片移动到目标文件夹下的同名子文件夹中,并记录图片原始路径。用户可以选择是否将这些图片还原到原始位置,且在还原图片后会删除因移动操作产生的...

它主要实现了将源文件夹下各子文件夹中的图片移动到目标文件夹下的同名子文件夹中,并记录图片原始路径。用户可以选择是否将这些图片还原到原始位置,且在还原图片后会删除因移动操作产生的空文件夹。用户还可选择是否继续运行程序进行新的操作。

用户使用该工具时,程序首先会打印作者相关信息,包括定制小工具的微信联系方式、定制价格,同时说明该工具仅支持64位Windows系统以及操作过程中回车键的使用方法。之后,用户按以下步骤操作:

  1. 输入源文件夹路径:在“请输入源文件夹路径(5120221056类似于这样的文件夹所在文件夹路径): ”的提示后,用户需准确输入包含待移动图片的源文件夹路径。此路径下的子文件夹中的图片将被处理。
  2. 输入目标文件夹路径:在“请输入目标文件夹路径(自己选择文件夹即可): ”提示后,用户输入用于存放移动后图片的目标文件夹路径。

输入完成后,程序开始执行操作:

  • 移动图片并记录路径:程序通过 os.listdir 结合 os.path.isdir 方法获取源文件夹下的所有子文件夹。对于每个子文件夹,在目标文件夹下创建同名子文件夹(如果不存在)。然后通过 os.walk 遍历源子文件夹及其子孙文件夹,找到所有图片文件(.png.jpg.jpeg.gif 格式),将其移动到目标文件夹下对应的同名子文件夹中,并使用字典 image_dict 记录每个目标文件路径与源文件相对源文件夹的路径的映射关系。操作完成后,提示“>>>>>>>>>>图片已成功移动到目标文件夹!”。
  • 还原图片:程序询问“是否还原图片到原位置?(yes/no): ”,若用户输入“yes”(不区分大小写),程序遍历 image_dict,将每个目标文件移动回源文件的原始位置。移动前会检查目标文件是否存在,若不存在则提示“无法找到目标文件: [目标文件路径]”。还原完成后,程序删除因移动操作产生的空文件夹,并提示“>>>>>>>>>>图片已成功还原到原位置!”。
  • 继续操作询问:完成上述操作后,程序询问“是否要继续运行程序?(y/n): ”。若用户输入“y”(不区分大小写),则会重新提示用户输入源文件夹路径和目标文件夹路径,开始新一轮的图片移动与还原操作;若输入其他内容,程序结束运行。

例如,假设存在如下文件夹结构: 

源文件夹
│
├── 文件夹 A
│ ├── img1.jpg
│ ├── subfolder1
│ │ ├── img2.png
│ │ └── subfolder2
│ │ ├── img3.jpeg
│ └── img4.gif
└── 文件夹 B
目标文件夹

用户运行程序,输入“源文件夹”作为源文件夹路径,“目标文件夹”作为目标文件夹路径。程序会将“源文件夹”下“文件夹A”及其子孙文件夹中的图片移动到“目标文件夹”下的“文件夹A”中,记录图片原始路径。提示图片移动成功后,询问是否还原图片。若用户选择“yes”,则将图片还原到原始位置并删除空文件夹,再次提示操作成功。之后询问是否继续运行程序,若选择“y”,可重新输入路径进行新一轮操作;若选择其他内容,程序结束。


python版本:3.86

是否带UI界面:非UI版本

电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)

脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮

重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能


查看源代码

隐藏内容,开通会员可免费查看!
售价:50 
月度会员 免费查看
开通会员
开通月度会员或更高级的会员可免费查看该内容

登录注册购买      开通会员免费查看

  • 随机文章
  • 热门文章

收藏本文章

作者:softbangong
使用批处理解放双手,使用softbangong一直赢。 学无止境,精准有效方为上上策。 softbangong你的贴身助手!
返回列表
上一篇:
下一篇:
您需要 登录账户 后才能发表评论

发表评论取消回复中国互联网举报中心

快捷回复:

验证码

    评论列表 (暂无评论,共7人参与)参与讨论

    还没有评论,来说两句吧...