Problem:
You want to download a URL to a file using the requests python library, but you want to skip the download if it doesn’t exist
Solution:
Use the following functions:
import requests import os.path def download_file(filename, url): """ Download an URL to a file """ with open(filename, 'wb') as fout: response = requests.get(url, stream=True) response.raise_for_status() # Write response data to file for block in response.iter_content(4096): fout.write(block) def download_if_not_exists(filename, url): """ Download a URL to a file if the file does not exist already. Returns ------- True if the file was downloaded, False if it already existed """ if not os.path.exists(filename): download_file(filename, url) return True return False