文章标题: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使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 热评文章
- 1【00】300克铜版纸名片报价
- 2713-批量以所在文件夹名批量按顺序重命名文件名-与系统排序相同
- 3768-以文件中关键词创建文件夹并把包含该关键词的文件移动到该文件夹
- 4772-批量删除文件名中某个字符前的所有内容(可选删除字符本身)
- 510081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 6解决win系统电脑休眠唤醒后网络无法连接问题-只显示地球但是不可用
- 7454-批量检测损坏pdf文件并移动到目标文件夹内
- 8pdf导出excell提取表格无框线处理逻辑
- 9801-拖入文件夹自动压缩为压缩包,批量压缩文件夹,不同压缩包使用不同密码并记录密码
- 10【下单入口】300克铜版纸名片印刷【工厂价】




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