在Python中,可以使用requests
庫來實現文件下載功能。以下是一個簡單的示例:
import requests
def download_file(url, save_path):
response = requests.get(url)
with open(save_path, 'wb') as file:
file.write(response.content)
# 調用示例
url = 'http://example.com/file.txt' # 文件的URL
save_path = 'path/to/save/file.txt' # 保存的文件路徑
download_file(url, save_path)
在這個例子中,我們定義了一個download_file
函數,它接收文件的URL和保存的路徑作為參數。函數使用requests.get
方法發送GET請求獲取文件內容,然后使用open
函數以二進制寫入模式打開保存路徑,并調用write
方法將文件內容寫入文件。
請注意,這個示例只適用于小文件的下載。如果要下載大文件,可能需要使用流式方式來處理,以避免一次將整個文件內容加載到內存中。可以使用iter_content
方法來逐塊下載文件內容。下面是一個示例:
import requests
def download_large_file(url, save_path, chunk_size=128):
response = requests.get(url, stream=True)
with open(save_path, 'wb') as file:
for chunk in response.iter_content(chunk_size=chunk_size):
file.write(chunk)
# 調用示例
url = 'http://example.com/large_file.zip' # 大文件的URL
save_path = 'path/to/save/large_file.zip' # 保存的文件路徑
download_large_file(url, save_path)
在這個示例中,我們設置stream=True
來啟用流式下載。然后,我們使用iter_content
方法來迭代下載的塊,并將每個塊寫入文件。這樣可以在下載大文件時避免將整個文件內容加載到內存中。