Python 下载文件到本地文件夹
一、引言
在编程开发中,经常需要从网络上下载文件到本地文件夹。Python 提供了多种方式实现下载功能,本文将详细介绍 Python 中下载文件到本地文件夹的方法和技巧。
二、使用 urllib 库下载文件
Python 的标准库 urllib 提供了下载文件的功能,我们可以利用它下载文件到本地文件夹。
具体操作步骤如下:
- 导入 urllib 库模块:
import urllib.request
- 定义下载链接和保存路径:
url = "http://example.com/file.zip"
filename = "file.zip"
- 使用 urllib.request.urlretrieve() 方法下载文件:
urllib.request.urlretrieve(url, filename)
完整示例代码如下:
import urllib.request
url = "http://example.com/file.zip"
filename = "file.zip"
urllib.request.urlretrieve(url, filename)
运行以上代码,即可将指定链接的文件下载到本地文件夹。
三、使用 requests 库下载文件
除了使用 urllib 库,我们还可以使用第三方库 requests 下载文件。requests 是一个更为友好和强大的 HTTP 请求库,可以轻松地实现文件下载功能。
具体操作步骤如下:
- 安装 requests 库:
pip install requests
- 导入 requests 库模块:
import requests
- 定义下载链接和保存路径:
url = "http://example.com/file.zip"
filename = "file.zip"
- 使用 requests.get() 方法下载文件:
response = requests.get(url)
with open(filename, "wb") as file:
file.write(response.content)
完整示例代码如下:
import requests
url = "http://example.com/file.zip"
filename = "file.zip"
response = requests.get(url)
with open(filename, "wb") as file:
file.write(response.content)
运行以上代码,即可将指定链接的文件下载到本地文件夹。
四、设置下载文件的保存路径和文件名
如果要指定下载文件的保存路径和文件名,可以通过修改代码中的保存路径和文件名变量实现。
示例代码:
import urllib.request
url = "http://example.com/file.zip"
filepath = "/path/to/save/"
filename = "my_file.zip"
urllib.request.urlretrieve(url, filepath + filename)
或者使用 requests 库:
import requests
url = "http://example.com/file.zip"
filepath = "/path/to/save/"
filename = "my_file.zip"
response = requests.get(url)
with open(filepath + filename, "wb") as file:
file.write(response.content)
这样,下载的文件将保存到指定的路径和文件名下。
五、处理下载异常
在进行文件下载的过程中,可能会出现异常情况。为了提高代码的健壮性和可靠性,我们应该在下载文件时进行异常处理。
使用 urllib 库下载文件时,可以使用 try-except 语句捕获异常并进行处理。
示例代码:
import urllib.request
import urllib.error
url = "http://example.com/file.zip"
filename = "file.zip"
try:
urllib.request.urlretrieve(url, filename)
except urllib.error.URLError as e:
print("下载文件时发生错误:", str(e))
使用 requests 库下载文件时,也可以使用 try-except 语句捕获异常并进行处理。
示例代码:
import requests
url = "http://example.com/file.zip"
filename = "file.zip"
try:
response = requests.get(url)
with open(filename, "wb") as file:
file.write(response.content)
except requests.exceptions.RequestException as e:
print("下载文件时发生错误:", str(e))
这样,我们可以及时捕获并处理下载文件时可能发生的异常情况。
六、总结
本文介绍了使用 Python 下载文件到本地文件夹的方法和技巧。
我们可以使用 urllib 库或者 requests 库来实现文件下载功能,通过设置下载文件的保存路径和文件名,可以指定下载文件的保存位置和名称。
为了提高代码的健壮性和可靠性,我们应该在下载文件时进行异常处理。