What command to use instead of urllib.request.urlretrieve?
python, python-3.x, python-requests, urllib
Solution
Deprecated is one thing, might become deprecated at some point in the future is another. If it suits your needs, I'd continuing using `urlretrieve`.
That said, you can use `shutil.copyfileobj`:
from urllib.request import urlopen
from shutil import copyfileobj
with urlopen(my_url) as in_stream, open('my_filename', 'wb') as out_file:
copyfileobj(in_stream, out_file)
Problem
I'm currently writing a script that downloads a file from a URL ``` import urllib.request urllib.request.urlretrieve(my_url, 'my_filename') ``` The docs `urllib.request.urlretrieve` state: The following functions and classes are ported from the Python 2 module urllib (as opposed to urllib2). They might become deprecated at some point in the future. Therefore I would like to avoid it so I don't have to rewrite this code in the near future. I'm unable to find another interface like `download(url, filename)` in standard libraries. If `urlretrieve` is considered a legacy interface in Python 3, what is the replacement?