python-3.x - 使用 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 的保存位置吗?
解决方案
你没有导入urllib
。request
您从导入了名称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)
推荐阅读
- perl - 我想使用 Perl 将字符串从第二个元素拆分为数组
- docker - 如何在 Spark Standalone Cluster 中从不同服务器添加工作节点
- python - AttributeError:模块“请求”没有属性“发布”
- azure-web-app-service - Azure 应用服务 - 最低 TLS 版本 - 还需要调整主机注册表吗?
- css - 如何在 React 菜单项(Web 应用程序)中对特定菜单项进行换行或换行?
- vim - 在 vim 中编译后如何在新的终端窗口上运行 c++ 程序?
- java - 初始化时表达相互连接
- google-drive-api - 每次都在 GDrive 中上传文件而不记录
- python - Python package structure not importing correct module
- ajax - 使用 ASP.NET Core 的 Ajax