首页 > 解决方案 > 使用 urllib 下载文件并指定保存位置

问题描述

我想在 python 中使用 urllib 下载一个“.exe”文件。这是我到目前为止在互联网上找到的代码:

from urllib import request

url = "https://example.com"
download_file_name = "example.exe"

def download(url, download_file_name):

    urllib.request.urlretrieve(url, download_file_name)

download(url, download_file_name)

我收到一个错误,“NameError: name 'urllib' is not defined”。urllib 导入了,为什么还是报错?

另外,我可以在下载后更改/指定 .exe 的保存位置吗?

标签: python-3.xurllib

解决方案


你没有导入urllibrequest您从导入了名称urllib。您可以通过提供完整路径来指定文件的保存位置download_file_name

尝试这个:

from urllib import request

url = "https://example.com"
download_file_name = "C:\\example.exe"

def download(url, download_file_name):
    request.urlretrieve(url, download_file_name)

download(url, download_file_name)

但是,重点urlretrieve是下载一个临时文件。它被保存在一个临时位置并最终被删除。您可以通过检查以下结果来发现它的保存位置request.urlretrieve

url = "https://example.com"
tmp_file = request.urlretrieve(url)
print("Temporary file was saved at " + tmp_file)

推荐阅读