溫馨提示×

python怎么實現(xiàn)文件下載功能

小億
274
2023-12-08 23:39:54
欄目: 編程語言

在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)存中。

0