使用Python的multiprocessing库中的Pool类来实现文件的并行下载。
示例代码:
import multiprocessing
import urllib.request
# 文件列表
file_list = ['file1.jpg', 'file2.jpg', 'file3.jpg', ...]
def download_file(file_url):
urllib.request.urlretrieve(file_url)
if __name__ == '__main__':
# 创建进程池,最大进程数为4
pool = multiprocessing.Pool(processes=4)
# 下载文件
for file_url in file_list:
pool.apply_async(download_file, args=(file_url,))
# 关闭进程池,等待所有进程完成
pool.close()
pool.join()
print('所有文件下载完成!')
上述代码使用进程池实现了最大并发数为4的并行下载7000个文件,其中file_list为下载文件的列表,download_file函数为下载文件的实现方法,urllib.request.urlretrieve函数用于下载文件。
下一篇:并行下载文件的分叉进程