阅读量:0
使用Python的多线程功能可以实现同时下载多个文件的功能。以下是一个示例代码,可以参考使用:
import threading import requests def download_file(url, filename): r = requests.get(url) with open(filename, 'wb') as f: f.write(r.content) print(f'Downloaded {filename}') files = [ {'url': 'http://example.com/file1.txt', 'filename': 'file1.txt'}, {'url': 'http://example.com/file2.txt', 'filename': 'file2.txt'}, {'url': 'http://example.com/file3.txt', 'filename': 'file3.txt'} ] threads = [] for file in files: t = threading.Thread(target=download_file, args=(file['url'], file['filename'])) threads.append(t) t.start() for t in threads: t.join() print('All files downloaded successfully')
这段代码会同时下载file1.txt
、file2.txt
和file3.txt
这三个文件,每个文件的下载会在一个独立的线程中进行。在这个例子中,我们使用requests
库来发送HTTP请求下载文件。下载文件的函数download_file
会接受文件的URL和文件名作为参数,然后将文件内容保存到本地文件中。
最后,在主线程中等待所有下载线程执行完成,并打印提示信息。这样就实现了使用多线程同时下载多个文件的功能。