已知文件夹文件列表,怎么处理文件夹里面的图片

今天用我们的标注工具做预标注处理,从约4.7万张图(文件夹a)中抽出约2.4万的空白标注文件(文件夹b),也就是说,文件夹b中的每一个都在a里面,a里面约有2.3万张图不在b里面。然后就想写段代码把a中不在b里面的这2.3万张图抽取出来。图片较大数量较多,用复制粘贴剪切往往要卡住。

代码如下,记住,代码要跟a,b文件夹在同一目录下:

已知文件夹文件列表,怎么处理文件夹里面的图片_第1张图片

import os  
import shutil  
  
# 较小文件名列表  
file_names = os.listdir('./b') 
  
# 进入要删除文件(较大)的父目录文件夹内  
os.chdir('./a')  
  
# 遍历文件名列表并删除每个文件  
for file_name in file_names:  
    try:  
        # 删除文件  
        os.remove(file_name)  
        print(f"File {file_name} deleted successfully.")  
    except OSError as e:  
        print(f"Error: {file_name} : {e.strerror}")

已知文件夹文件列表,怎么处理文件夹里面的图片_第2张图片

上面代码来自文心一言,后面自己改写了下:

import os



os.chdir('./a')
for s in os.listdir('../a'):
	if s in os.listdir('../b'):
		os.remove(s)
		print(f'{s}在b里面,已从a中删除')

你可能感兴趣的:(python)