在Python中,可以使用threading
模塊來實現多線程下載多個文件。下面是一個簡單的示例代碼,用于同時下載多個文件:
import threading
import requests
def download_file(url, filename):
response = requests.get(url)
with open(filename, 'wb') as file:
file.write(response.content)
print(f'{filename} downloaded successfully')
urls = ['http://example.com/file1.txt', 'http://example.com/file2.txt', 'http://example.com/file3.txt']
filenames = ['file1.txt', 'file2.txt', 'file3.txt']
threads = []
for url, filename in zip(urls, filenames):
thread = threading.Thread(target=download_file, args=(url, filename))
threads.append(thread)
thread.start()
for thread in threads:
thread.join()
print('All files downloaded successfully')
在這個示例中,我們首先定義了一個download_file
函數,用于下載單個文件。然后,我們創建了一個包含多個URL和文件名的列表,分別表示要下載的文件的URL和保存的文件名。
接下來,我們創建了多個線程,每個線程負責下載一個文件。然后,我們啟動所有線程,并等待它們完成下載。最后,我們打印出所有文件都已成功下載的消息。
請注意,這只是一個簡單的示例,實際應用中可能需要更多的錯誤處理和優化。