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