mirror of
				https://github.com/python/cpython.git
				synced 2025-10-25 02:43:41 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Simple Python script to download a file. Used as a fallback
 | |
| # when other more reliable methods fail.
 | |
| #
 | |
| from __future__ import print_function
 | |
| import sys
 | |
| 
 | |
| try:
 | |
|     from requests import get
 | |
| except ImportError:
 | |
|     try:
 | |
|         from urllib.request import urlretrieve
 | |
|         USING = "urllib.request.urlretrieve"
 | |
|     except ImportError:
 | |
|         try:
 | |
|             from urllib import urlretrieve
 | |
|             USING = "urllib.retrieve"
 | |
|         except ImportError:
 | |
|             print("Python at", sys.executable, "is not suitable",
 | |
|                   "for downloading files.", file=sys.stderr)
 | |
|             sys.exit(2)
 | |
| else:
 | |
|     USING = "requests.get"
 | |
| 
 | |
|     def urlretrieve(url, filename):
 | |
|         r = get(url, stream=True)
 | |
|         r.raise_for_status()
 | |
|         with open(filename, 'wb') as f:
 | |
|             for chunk in r.iter_content(chunk_size=1024):
 | |
|                 f.write(chunk)
 | |
|         return filename
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     if len(sys.argv) != 3:
 | |
|         print("Usage: urlretrieve.py [url] [filename]", file=sys.stderr)
 | |
|         sys.exit(1)
 | |
|     URL = sys.argv[1]
 | |
|     FILENAME = sys.argv[2]
 | |
|     print("Downloading from", URL, "to", FILENAME, "using", USING)
 | |
|     urlretrieve(URL, FILENAME)
 | 
