原标题:100160-1-挑选图片文件移动到目标文件夹并且能恢复到原文件夹【源代码】
导读:
文章标题:Python实现特定图片文件移动与恢复功能解析这段代码实现了一个用于在指定的源文件夹及其子文件夹中筛选出图片文件,并将这些图片文件按照用户指定的位置移动到目标文件夹...
文章标题:Python实现特定图片文件移动与恢复功能解析
这段代码实现了一个用于在指定的源文件夹及其子文件夹中筛选出图片文件,并将这些图片文件按照用户指定的位置移动到目标文件夹的工具,同时还具备将移动后的文件恢复到原位置的功能。
用户使用时,程序首先会提示输入源文件夹路径,这是存放待移动图片文件的起始位置。
接着要求输入目标文件夹路径,此为图片文件移动的目的地。
然后,用户需要输入要移动的文件的位置,这些位置数字需用空格分隔。
程序会对源文件夹及其所有子文件夹进行深度遍历(os.walk
)。
在遍历过程中,对于每个文件,先通过 is_image
函数判断是否为图片文件。
如果是图片文件,不管其处于源文件夹的哪一层子文件夹,都会按照自然排序(natural_sort_key
函数仅考虑数字序列来确定自然排序的关键字),依据用户输入的位置,将对应位置的图片文件移动到目标文件夹中,移动后的文件名保持不变。
移动完成后,程序会展示每个移动文件的原路径和目标路径。
之后,程序询问用户是否将移动的文件恢复到原位置。若用户输入 y
,程序会调用 restore_files
函数,把之前移动的文件按照记录的路径恢复到源文件夹的原位置;若输入 n
,则直接结束操作。
此代码对子文件夹有效,能够穿透子文件夹,对源文件夹及其所有层级的子文件夹内的图片文件进行操作。
以下是实例验证: 假设存在如下文件夹结构:
主文件夹
│
├── 源文件夹
│ ├── 文件夹 A
│ │ ├── img1.jpg
│ │ ├── img2.png
│ │ └── img3.jpeg
│ ├── 文件夹 B
│ │ ├── img4.gif
│ │ └── img5.webp
│ ├── img6.bmp
└── 目标文件夹
将上述代码保存并运行,当用户输入源文件夹路径为 “主文件夹/源文件夹”,目标文件夹路径为 “主文件夹/目标文件夹”,
并输入要移动文件的位置(例如 “1 3 5”)后,程序会把源文件夹及其子文件夹内按自然排序后的第1、3、5个图片文件,即 img1.jpg
、img3.jpeg
、img5.webp
,移动到目标文件夹中。移动完成后展示移动信息,询问是否恢复文件。
若选择恢复,这些文件会回到源文件夹的原位置;若不恢复则结束操作。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 706-批量将指定文件夹下所有文件格式后缀改为小写-UI
- 708-读取txt搜索指定文件夹下文件并移动到目标文件夹
- 713-批量以所在文件夹名批量按顺序重命名文件名-与系统排序相同
- 717-搜索指定文件夹下同名文件【包含子孙文件夹下文件】在目标文件夹下创建同名文件夹并将同名文件移入
- 732-批量搜索文件名中包含文件夹名的文件并移入到文件夹中
- 756-对指定文件夹下文件及文件夹建立目录树-支持导出多种文件格式
- 784-批量搜索移动或复制指定文件夹下指定名称的指定格式的文件到指定文件夹
- 10081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 10080-3-持续监测指定文件夹并解压zip-rar-7z压缩包-【支持子孙文件夹-多层嵌套压缩包】-【不支持密码解压-分卷类型解压】
- 20250104-批量删除pdf中指定区域内容【定制版】
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥承接各种批处理工具定制 / 售后相关信息 / 任何需求请在该文章下留言
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 9Adobe程序完全卸载教程完全卸载无残留-【包括单个程序卸载和全部程序卸载】(win系统版本)
- 10为ps脚本添加快捷键快速调用
还没有评论,来说两句吧...