]> granicus.if.org Git - python/commitdiff
Remove to-be-deprecated urllib.request.urlretrieve function reference (#6454)
authorAndrés Delfino <34587441+andresdelfino@users.noreply.github.com>
Mon, 16 Apr 2018 14:02:56 +0000 (11:02 -0300)
committerSenthil Kumaran <skumaran@gatech.edu>
Mon, 16 Apr 2018 14:02:56 +0000 (07:02 -0700)
Doc/howto/urllib2.rst

index 204a05a6100818faef6695e3f4f2850a3b265e89..ef1791cebec57a24842d7834485f758b0503db19 100644 (file)
@@ -56,12 +56,20 @@ The simplest way to use urllib.request is as follows::
     with urllib.request.urlopen('http://python.org/') as response:
        html = response.read()
 
-If you wish to retrieve a resource via URL and store it in a temporary location,
-you can do so via the :func:`~urllib.request.urlretrieve` function::
+If you wish to retrieve a resource via URL and store it in a temporary
+location, you can do so via the :func:`shutil.copyfileobj` and
+:func:`tempfile.NamedTemporaryFile` functions::
 
+    import shutil
+    import tempfile
     import urllib.request
-    local_filename, headers = urllib.request.urlretrieve('http://python.org/')
-    html = open(local_filename)
+
+    with urllib.request.urlopen('http://python.org/') as response:
+        with tempfile.NamedTemporaryFile(delete=False) as tmp_file:
+            shutil.copyfileobj(response, tmp_file)
+
+    with open(tmp_file.name) as html:
+        pass
 
 Many uses of urllib will be that simple (note that instead of an 'http:' URL we
 could have used a URL starting with 'ftp:', 'file:', etc.).  However, it's the