小编kmh*_*ain的帖子

如何使用 Python 2.7 通过多线程(异步下载)通过 HTTP 下载文件

我有一个文件要下载(从 json 中提取的下载路径。例如:)http://testsite/abc.zip

我需要帮助才能执行,所有 5 个线程都应将abc.zip文件下载到输出目录,并且下载必须是Asynchronousconcurrent

目前使用下面的代码,它确实下载了 5 次文件,但它会一一下载(同步)。

我想要的是,同时下载。

def dldr(file=file_url, outputdir=out1):
    local_fn = str(uuid.uuid4())
    if not os.path.exists(outputdir):
        os.makedirs(outputdir)
    s = datetime.now()
    urllib.urlretrieve(file, outputdir + os.sep + local_fn)
    e = datetime.now()
    time_diff = e - s
    logger(out1, local_fn, time_diff)

for i in range(1, 6):
    t = threading.Thread(target=dldr())
    t.start()
Run Code Online (Sandbox Code Playgroud)

我已经阅读了带有多个连接请求帖子,它很有帮助,但没有解决所问问题的要求。

python multithreading http python-2.7

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

http ×1

multithreading ×1

python ×1

python-2.7 ×1