Python: salvataggio di un file scaricato con il modulo shutil

Python: salvataggio di un file scaricato con il modulo shutil

In questo articolo vedremo come effettuare il download di un file salvandolo con shutil in Python.

Possiamo usare lo stream di dati del modulo requests in una richiesta GET e passare tali dati grezzi al metodo copyfileobj() che effettuerà la scrittura del file di destinazione nel percorso specificato dal gestore file.


import shutil
import requests

def download(file_url, target_path):
    try:
        res = requests.get(file_url, stream=True, allow_redirects=True)
        with open(f'{target_path}', 'wb') as f:
            shutil.copyfileobj(res.raw, f)
            return True
    except requests.exceptions.RequestException:
        return False

La nostra funzione di download restituirà un valore booleano che indicherà l'esito dell'operazione. Volendo migliorare il nostro codice, potremmo restituiire una tuple o None inserendo nella prima il flag booleano e il percorso del file scaricato.

Torna su