我正在尝试编写一个具有 GUI 并显示文件下载进度的文件下载器。我希望它显示文本百分比、进度条或两者兼而有之。我确信这可以在 Python 中完成,但我只是不确定如何实现。
我在 MS Windows XP 上使用 Python 2.6。
最佳答案
最简单的进度条对话框可能是 EasyDialogs for Windows (遵循与 mac 版本的 python 中包含的 EasyDialogs 模块相同的 api)
要确定下载进度,请使用 urllib.urlretrieve()带有“reporthook”。
类似这样的事情:
import sys
from EasyDialogs import ProgressBar
from urllib import urlretrieve
def download(url, filename):
bar = ProgressBar(title='Downloading...', label=url)
def report(block_count, block_size, total_size):
if block_count == 0:
bar.set(0, total_size)
bar.inc(block_size)
urlretrieve(url, filename, reporthook=report)
if __name__ == '__main__':
url = sys.argv[1]
filename = sys.argv[2]
download(url, filename)
当然还有其他库可用于更丰富的 GUI 界面(但如果您只需要这些,它们会更大或更难)。下载也是如此:可能有比 urllib 更快的东西,但是这个很简单并且包含在 stdlib 中。
关于python - 带 GUI 进度显示的文件下载器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3394345/