python使用tqdm模块处理文件阅读进度条显示

您所在的位置:网站首页 arcgis显示处理进度条 python使用tqdm模块处理文件阅读进度条显示

python使用tqdm模块处理文件阅读进度条显示

2024-06-05 15:57| 来源: 网络整理| 查看: 265

当我们需要处理大量的文件时,特别是在读取大文件时,会发现读取的过程异常耗时,无法反应出程序的实际运行状况。为了解决这个问题,我们可以使用进度条显示当前处理的进度,方便我们在终端直观地观察程序的进展。tqdm模块提供了一种简单易用的进度条显示方式,可以帮助我们更清晰地查看程序的运行情况,下面是使用tqdm模块实时显示文件读取进度的攻略。

安装tqdm模块

使用pip命令安装tqdm模块:

pip install tqdm 针对大文件的阅读进度条

当我们需要处理大文件时,最好采用以下示例中的方法,将文件划分成块以避免内存问题,同时实时显示进度条:

from tqdm import tqdm chunk_size = 1024 * 1024 file_size = os.stat('/path/to/file').st_size with open('/path/to/file', 'rb') as f: with tqdm(total=file_size, unit='B', unit_scale=True, desc='/path/to/file') as pbar: while True: chunk = f.read(chunk_size) if not chunk: break pbar.update(len(chunk))

首先,我们使用os模块中的stat函数获取文件大小。然后使用open函数打开文件,使用tqdm模块中的tqdm方法创建进度条,并指定单位为B,单位缩放为True,以及进度条的描述信息。然后我们不停的从文件中读取数据块,更新进度条,直到读完整个文件。

参数说明:

total:进度条所需更新的总数,也就是文件大小; unit:进度条的计量单位,本例中为B,也可以指定为其他文件大小的计量单位,如MB或GB; unit_scale:进度条计量单位是否自动缩放,默认为False; desc:设定进度条的描述信息,默认为空; chunk_size:每次读取文件块的大小,此处我们定义为1024 * 1024,即1 MB。 针对小文件的阅读进度条

如果我们需要读取小文件,可以使用以下示例:

from tqdm import tqdm import time with open('/path/to/file') as fin: for line in tqdm(fin, desc='/path/to/file', unit='line'): # 对每一行数据进行处理 time.sleep(0.1)

在这个例子中,我们使用open函数打开文件,并使用tqdm函数创建进度条,并指定单位为line,以及进度条的描述信息。然后我们使用for循环,遍历每一行数据,并更新进度条。实际场景中,我们可以根据实际需要对每一行数据进行处理。

total参数不需要在这个例子中指定,系统会将行数自动计算。如果我们需要处理的是列表或者其他可迭代对象,可以将相应的对象作为参数传入tqdm函数中。

上述是使用tqdm模块处理文件阅读进度条显示的示例,能够有效提升代码的可读性和可维护性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python使用tqdm模块处理文件阅读进度条显示 - Python技术站



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3