Python 如何计算进度
我正在构建一个gui,在其中我需要向用户显示一个进度条,显示文件从internet下载的量。我成功地使用了TQM并将其显示到控制台。但是我在将其传递给gui时遇到了一个问题 我面临的问题是用tqdm的百分比值更新进度条。由于tqdm包装了它的进度条,所以我无法将百分比作为整数或浮点数获取。我尝试了Python 如何计算进度,python,python-3.x,Python,Python 3.x,我正在构建一个gui,在其中我需要向用户显示一个进度条,显示文件从internet下载的量。我成功地使用了TQM并将其显示到控制台。但是我在将其传递给gui时遇到了一个问题 我面临的问题是用tqdm的百分比值更新进度条。由于tqdm包装了它的进度条,所以我无法将百分比作为整数或浮点数获取。我尝试了bar\u格式='{percentage:.0f}。这只给了我百分比,但仅此而已。它仍然不会将百分比本身作为整数或浮点返回 这是显示进度条并下载文件的循环: from requests import g
bar\u格式='{percentage:.0f}
。这只给了我百分比,但仅此而已。它仍然不会将百分比本身作为整数或浮点返回
这是显示进度条并下载文件的循环:
from requests import get
from bs4 import BeautifulSoup
from os import path
import sys
from tqdm import tqdm
folderPath = 'C:/Users/Sammy/Desktop/'
url = 'http://www.karavalimunjavu.com/'
res = get(url)
soup = BeautifulSoup(res.text, 'lxml')
# Downloading images.
for images in soup.select('img[data-big]'):
imgDownload = get(url+images.get('data-big'), stream=True)
file_size = int(imgDownload.headers.get("Content-Length", None))
progress = tqdm(total=file_size, file=sys.stdout, bar_format='{percentage:.0f}')
with open(path.join(folderPath, pageNo), 'wb') as f:
for data in imgDownload:
f.write(data)
progress.update(len(data))
f.close()
progress.close()
break
如何让它以整数的形式输出百分比?如果我仔细看一下,这个问题的答案非常简单
from requests import get
from bs4 import BeautifulSoup
from os import path
folderPath = 'C:/Users/Sammy/Desktop/'
url = 'http://www.karavalimunjavu.com/'
res = get(url)
soup = BeautifulSoup(res.text, 'lxml')
for images in soup.select('img[data-big]'):
pageNo = path.basename(images.get('data-big'))[15:]
imgDownload = get(url+images.get('data-big'), stream=True)
file_size = int(imgDownload.headers.get("Content-Length", None))
progress = 0 # Initialise progress variable
with open(path.join(folderPath, pageNo), 'wb') as f:
for data in imgDownload:
f.write(data)
progress += len(data)
print((progress/file_size)*100) # The logic to print out the percentage
f.close()
break
请提供一个我的坏消息。提供。这与TQM有什么关系?您拥有总的
文件大小
,下载的数据将使用len(data)
逐步更新。你不能算一下吗?gui代码在哪里?@musicamante哦,是的,刚刚算出来。我真傻。