如何复制目录中前1400张图片到另一目录?解决编号缺失报错问题
解决方法:直接复制目录中的前1400张图片
原来的代码依赖文件名前缀编号生成文件列表,一旦遇到缺失文件就会报错。改成直接读取目录中实际存在的图片文件,再取前1400张复制即可,修改后的代码如下:
import os import shutil # 替换成你的实际目录路径 dataset_dir = "/path/to/your/source/dir" train_dir_input = "/path/to/your/target/dir" # 获取目录下所有符合格式的图片文件(自动排除子目录) image_files = [ filename for filename in os.listdir(dataset_dir) if os.path.isfile(os.path.join(dataset_dir, filename)) and filename.endswith(".app_res_model.tiff") ] # 取前1400张,若目录中文件总数不足1400则复制全部 target_files = image_files[:1400] # 循环执行复制 for fname in target_files: src_path = os.path.join(dataset_dir, fname) dst_path = os.path.join(train_dir_input, fname) shutil.copyfile(src_path, dst_path)
补充说明:
- 如果需要按文件名排序后再取前1400张(比如保持类似原编号的顺序),可以在获取
image_files后加上排序逻辑:image_files.sort() - 代码只会处理目录中实际存在的图片文件,不会因文件缺失导致程序中断。
内容的提问来源于stack exchange,提问作者Gonde94
相关产品推荐
相关产品推荐

