2020-05-13

               python 大量输入解决办法-----多进程

import os

import time

from PIL import Image

from multiprocessing import Pool

def get_file_path(path):

    img_paths = []

    dirs = os.listdir(path)

    for file_dir in dirs:

        file_path = os.path.join(path, file_dir)

        img_names = os.listdir(file_path)

        for img_name in img_names:

            img_path = os.path.join(file_path, img_name)

            img_paths.append(img_path)

    return img_paths

def resize_image(file_name):

    try:

        img = Image.open(file_name)

        new_img = img.resize((250, 250), Image.ANTIALIAS)

        new_img.save(file_name)

    except:

        print(file_name)

if __name__ == '__main__':

    start = time.time()

    path = r'C:\Users\Alvin_Fang\Downloads\identities_0'

    img_paths = get_file_path(path)

    pool = Pool(6)

    pool.map(resize_image, img_paths)

    pool.close()

    pool.join()

    end = time.time()

    print(end - start)

————————————————

版权声明:本文为CSDN博主「Alvin_FZW」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/Alvin_FZW/article/details/82886004

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。