VGG Face数据集多线程下载

官方链接:http://www.robots.ox.ac.uk/~vgg/data/vgg_face/

首先去官网下载vgg_face_dataset.tar.gz

python3下载程序:

#!/usr/bin/python3
#-*- coding: utf-8 -*-
import sys
import os
import threading
import socket
import urllib.request

timeout = 4
socket.setdefaulttimeout(timeout)

'''
保存远程url图片数据
'''
def download_and_save(url,savename):
    try:
        data = urllib.request.urlopen(url).read()
        fid=open(savename,'w+b')
        fid.write(data)
        print ("download succeed: "+ url)
        fid.close()
    except IOError:
        print ("download failed: "+ url)


def get_all_iamge(filename):
    fid = open(filename)
    name = filename.split('/')[-1]
    name = name[:-4]
    lines = fid.readlines()
    for line in lines:
        line_split = line.split(' ')
        image_id = line_split[0]
        image_url = line_split[1]
        if False == os.path.exists('./vgg_face_dataset/images' + '/' + name):
            os.mkdir('./vgg_face_dataset/images' + '/' + name)
        savefile = './vgg_face_dataset/images' + '/' + name + '/' + image_id + '.jpg'
        #The maxSize of Thread numberr:1000
        print(image_url,savefile)
        while True:
            if(len(threading.enumerate()) < 1000):
                break               
        t = threading.Thread(target=download_and_save,args=(image_url,savefile,))
        t.start()

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print ('Usage:python %s faceUrl.txt'%(sys.argv[0]))
        sys.exit()
    fileDir = sys.argv[1]
    list = os.listdir(fileDir)
    for i in range(len(list)):
        get_all_iamge(os.path.join(sys.argv[1],list[i]))


调用方式:

python3 download.py ./vgg_face_dataset/files/



  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值