文章内容旨在记录自己根据各位大佬发表的文章,改写的些许实用代码(仅对于初学者)。
一、根据文件大小(尺寸)复制图片到指定目录
注:本次读取文件大小(宽高)使用的是CV2模块。其他方法链接。
废话不多说,直接代码走起。
1、读取目录下所有文件
if (os.path.exists(images_path)):
files = os.listdir(images_path)
files.sort()
此处 files 为文件名称列表,包括文件和该目录下以及目录。获取单个文件名可使用for循环。
2、获取文件大小(尺寸)
2.1、获取获取图片尺寸
import cv2
image_cv=cv2.imread(images_path)
L-W=image_cv.shape
2.2、获取获取图片尺寸
for fil in files:
# size = os.stat(os.path.join(images_path, fil)) / (1024 * 1024)
size= os.path.getsize(os.path.join(images_path, fil))/ (1024 * 1024)
3、 完整代码
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import cv2
import argparse
import os
import shutil
def gt_size(images_path, Outputpath):
size_restrict =1 # 大小尺寸界限
if (os.path.exists(images_path)):
files = os.listdir(images_path)
files.sort()
for fil in files:
# file_stats = os.stat(os.path.join(images_path, fil))
# size = file_stats.st_size / (1024 * 1024)
size= os.path.getsize(os.path.join(images_path, fil))/ (1024 * 1024)
if size >=size_restrict:
if os.path.isfile(os.path.join(images_path, fil)): #判断文件是否存在
if os.path.exists(os.path.join(Outputpath,fil)):#判断文件是否存在于想要储存的位置
shutil.copy(os.path.join(images_path, fil), Outputpath)
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('-i', '--images_path', required=True, help='Folder with images')
parser.add_argument('-o', '--Outputpath', required=True, help='Folder with Output ')
args = parser.parse_args()
gt_size(args.images_path, args.Outputpath)