[英]How do I make progress bar while downloading file in python
I'm using tqdm to monitor the downloading of files in my python programs but it doesn't show the progress bar.我正在使用 tqdm 来监视我的 python 程序中文件的下载,但它没有显示进度条。 I have this code:我有这个代码:
from tqdm import *
import requests
url = "https://as2.cdn.asset.aparat.com/aparat-video/520055aa72618571e4ce34b434e328b615570838-144p__58945.mp4"
name = "video"
with requests.get(url, stream=True) as r:
r.raise_for_status()
with open(name, 'wb') as f:
for chunk in tqdm(r.iter_content(chunk_size=8192), r.headers.get("content-length")):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
# f.flush()
But when I run it, it doesn't show me a progress bar, it shows me this:但是当我运行它时,它不会向我显示进度条,而是向我显示:
763499: 94it [00:00, 192.31it/s]
I tried this code too:我也试过这个代码:
from tqdm import *
import requests
url = "https://as2.cdn.asset.aparat.com/aparat-video/520055aa72618571e4ce34b434e328b615570838-144p__58945.mp4"
name = "asdasdjk"
with requests.get(url, stream=True) as r:
r.raise_for_status()
with open(name, 'wb') as f:
for chunk, bar in r.iter_content(chunk_size=8192), r.headers.get("content-length"),tqdm(range(0,int(r.headers.get("content-length")))):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
# f.flush()
But it gives me the error:但它给了我错误:
Exception has occurred: ValueError
too many values to unpack (expected 2)
File "test.py", line 8, in <module>
for chunk, bar in r.iter_content(chunk_size=8192), r.headers.get("content-length"),tqdm(range(0,int(r.headers.get("content-length")))):
from tqdm import *
import requests
url = "https://as2.cdn.asset.aparat.com/aparat-video/520055aa72618571e4ce34b434e328b615570838-144p__58945.mp4"
name = "video"
with requests.get(url, stream=True) as r:
r.raise_for_status()
with open(name, 'wb') as f:
pbar = tqdm(total=int(r.headers['Content-Length']))
for chunk in r.iter_content(chunk_size=8192):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
pbar.update(len(chunk))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.