它主要实现了将源文件夹下各子文件夹中的图片移动到目标文件夹下的同名子文件夹中,并记录图片原始路径。用户可以选择是否将这些图片还原到原始位置,且在还原图片后会删除因移动操作产生的空文件夹。用户还可选择是否继续运行程序进行新的操作。
用户使用该工具时,程序首先会打印作者相关信息,包括定制小工具的微信联系方式、定制价格,同时说明该工具仅支持64位Windows系统以及操作过程中回车键的使用方法。之后,用户按以下步骤操作:
- 输入源文件夹路径:在“请输入源文件夹路径(5120221056类似于这样的文件夹所在文件夹路径): ”的提示后,用户需准确输入包含待移动图片的源文件夹路径。此路径下的子文件夹中的图片将被处理。
- 输入目标文件夹路径:在“请输入目标文件夹路径(自己选择文件夹即可): ”提示后,用户输入用于存放移动后图片的目标文件夹路径。
输入完成后,程序开始执行操作:
- 移动图片并记录路径:程序通过
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使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 711-对指定文件夹下各一级文件夹内文件指定文件类型判断大小并输出到csv文件中
- 731-批量以文件夹名命名文件名-以各文件所在文件夹名命名-自动在同名文件名后添加序列_1这样的序列名
- 750-批量删除指定文件夹下指定文件
- 752-批量复制文件及文件夹到多个文件夹
- 解决win系统电脑休眠唤醒后网络无法连接问题-只显示地球但是不可用
- pdf导出excell提取表格无框线处理逻辑
- 801-拖入文件夹自动压缩为压缩包,批量压缩文件夹,不同压缩包使用不同密码并记录密码
- 10082-1-批量解压压缩包-【支持子文件夹穿透】【不支持密码解压-多层嵌套压缩包解压】
- 791-批量为文件夹名添加前缀或后缀
- 10046-1-批量添加文字水印自动居中自定义水印高度每隔几秒钟显示一次水印




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