如何使用线条大小更新 tqdm 进度条?

How do I update a tqdm progress bar with line size?

我正在尝试加载 Python2.7 (Ubuntu 16.04) 中的文件,并使用 tqdm:

显示当前进度
from tqdm import tqdm
import os
with open(filename, 'r') as f:
    vectors = {}
    tq = tqdm(f, total=os.path.getsize(filename))
    for line in tq:
        vals = line.rstrip().split(' ')
        vectors[vals[0]] = np.array([float(x) for x in vals[1:]])
        tq.update(len(line))

虽然它不起作用,ETA 太大了。有点像 follows this example,但我正在尝试按照评论中的说明去做。

我发现密钥没有将文件对象作为 tqdm 的 'iterable' 参数传递,而是手动管理更新:

from tqdm import tqdm
import os

filename = '/home/nate/something.txt'

with open(filename, 'r') as f:
    # unit='B' and unit_scale just prettifies the bar a bit
    tq = tqdm(total=os.path.getsize(filename), unit='B', unit_scale=True)
    for line in f:
        tq.update(len(line))