将指定后缀的所有文件移动到指定的文件夹下
前面用论坛爬虫爬了几个G的小姐姐图片,但是图片都是一个文件夹一个文件夹存储的,感觉观赏起来不是特别舒适,然后就让gpt帮我生成了个指定后缀文件一移动到指定的文件夹下的代码,哎,gpt误我啊,生成出来移动是移动了,但是同名文件没帮我处理啊,心痛啊。。。。。无奈只能在他给的源码的基础上稍加优化一下了。import os
import shutil
name = 0# 更改文件名,以数字0为第一个文件,避免文件出现同名覆盖的问题
def move_files(source_folder, target_folder, file_extensions):
global name
for root, dirs, files in os.walk(source_folder, topdown=False):
#移动指定后缀名的文件到指定的文件夹内
for file in files:
if file.endswith(tuple(file_extensions)):
source_path = os.path.join(root, file)
new_name = f'{name}.{file.split(".")[-1]}'
target_path = os.path.join(target_folder, new_name)
shutil.move(source_path, target_path)# 移动文件
name += 1
# 删除空文件夹
[shutil.rmtree(os.path.join(root, nome_dirs)) for nome_dirs in dirs if
not os.listdir(os.path.join(root, nome_dirs))]
print(f'移动文件数{name}个')
if __name__ == '__main__':
source_folder = r'C:\Users\Administrator\Desktop\222'# 源文件夹路径
target_folder = r'C:\Users\Administrator\Desktop\111'# 目标文件夹路径
file_extensions = ['.jpg', '.png']# 指定移动的文件后缀列表
move_files(source_folder, target_folder, file_extensions)# 将文件夹下的指定后缀的所有文件移动到指定文件夹下
心痛啊...... 友情提示:源码别瞎玩,源码带深度遍历,你要源文件只指定盘符,会出问题的,例如你源文件只指定d盘,他会将你D盘下所有你所给定的后缀文件给移走,这样有可能会造成你所安装的某些软件无法启动 不懂,是不是需要Java编程更好一点 windows资源管理器里直接按类型排序,然后选择复制粘贴 TearApart 发表于 2023-10-24 16:53
windows资源管理器里直接按类型排序,然后选择复制粘贴
这个是深度遍历,你要源文件夹设置成d盘,他会将D盘的所有指定的后缀给你移动到另一个你指定的文件夹内 本帖最后由 ashi876 于 2023-10-24 21:09 编辑
留存待用
谢谢分享 感谢楼主分享 多谢了 ashi876 发表于 2023-10-24 18:15
留存待用
这才是王道{:1_921:}
页:
[1]