如何将JPG文件逐一存入同名文件夹?已创建文件夹但移动失败
解决方法:将JPG文件移动到同名文件夹
首先,我注意到你当前的代码是在尝试重复创建文件夹,但你已经明确说过这些文件夹都建好了——所以咱们的核心需求应该是把对应JPG文件移动到同名文件夹里,而不是再执行创建操作。下面是调整后的完整方案:
步骤拆解
- 先过滤出目录下的
.jpg文件,避免误操作文件夹或其他格式文件 - 用完整路径操作,防止系统找不到文件/文件夹位置
- 用更可靠的工具完成文件移动
修正后的代码
import os import shutil # 替换成你的实际目标路径 target_dir = "/your/actual/directory/path" for item in os.listdir(target_dir): # 只处理后缀为.jpg的文件 if item.endswith(".jpg"): # 提取不带后缀的文件夹名称 folder_name = item[:-4] # 构建文件和目标文件夹的完整路径 source_file = os.path.join(target_dir, item) dest_folder = os.path.join(target_dir, folder_name) # 确认目标文件夹存在(你说已创建,这步做兜底检查) if os.path.isdir(dest_folder): shutil.move(source_file, dest_folder) print(f"已完成:{item} → {folder_name}/") else: print(f"跳过:文件夹 {folder_name} 不存在,无法移动 {item}")
关键细节说明
os.path.join():自动适配Windows/Linux的路径分隔符,避免手动拼写出错shutil.move():专门用于文件/文件夹移动,比os.rename()更稳定,能处理跨磁盘移动等特殊场景.endswith(".jpg"):过滤非目标文件,防止遍历到文件夹时触发错误
如果运行时提示权限问题,记得确认你的程序有该目录的读写权限哦。
内容的提问来源于stack exchange,提问作者Alessia Barlascini
相关产品推荐
相关产品推荐

