Pythonrequests下载txt大文本文件添加进度条
时间: 2023-04-07 09:01:20 浏览: 130
可以使用tqdm库来添加进度条,示例代码如下:
```python
import requests
from tqdm import tqdm
url = 'http://example.com/large_file.txt'
response = requests.get(url, stream=True)
total_size = int(response.headers.get('content-length', 0))
block_size = 1024 # 1 Kibibyte
progress_bar = tqdm(total=total_size, unit='iB', unit_scale=True)
with open('large_file.txt', 'wb') as file:
for data in response.iter_content(block_size):
progress_bar.update(len(data))
file.write(data)
progress_bar.close()
if total_size != 0 and progress_bar.n != total_size:
print("Error: Something went wrong")
else:
print("Download successful")
```
这段代码使用requests库下载文件,并使用tqdm库添加进度条。其中,`stream=True`参数表示使用流式下载,可以避免一次性将整个文件加载到内存中。`response.headers.get('content-length', 0)`获取文件大小,`tqdm(total=total_size, unit='iB', unit_scale=True)`创建进度条对象,`progress_bar.update(len(data))`更新进度条,`file.write(data)`将下载的数据写入文件。最后,判断下载是否成功,输出相应信息。