Je ne vois pas la barre de progression tqdm lorsque j'utilise ce code pour itérer mon fichier ouvert:
with open(file_path, 'r') as f:
for i, line in enumerate(tqdm(f)):
if i >= start and i <= end:
print("line #: %s" % i)
for i in tqdm(range(0, line_size, batch_size)):
# pause if find a file naed pause at the currend dir
re_batch = {}
for j in range(batch_size):
re_batch[j] = re.search(line, last_span)
quelle est la bonne façon d'utiliser tqdm ici?
Vous êtes sur la bonne voie. Vous utilisez tqdm correctement, mais arrêtez d'imprimer chaque ligne à l'intérieur de la boucle lorsque vous utilisez tqdm. Vous voudrez également utiliser tqdm sur votre première boucle for et pas sur les autres, comme ceci:
with open(file_path, 'r') as f:
for i, line in enumerate(tqdm(f)):
if i >= start and i <= end:
for i in range(0, line_size, batch_size):
# pause if find a file naed pause at the currend dir
re_batch = {}
for j in range(batch_size):
re_batch[j] = re.search(line, last_span)
Quelques notes sur l'utilisation de énumèrent et son utilisation dans tqdm ici .
J'ai également rencontré cela - tqdm n'affiche pas de barre de progression, car le nombre de lignes dans l'objet fichier n'a pas été fourni.
La boucle for
itérera sur les lignes, lisant jusqu'à ce que le prochain caractère de nouvelle ligne soit rencontré.
Pour ajouter la barre de progression à tqdm
, vous devrez d'abord analyser le fichier et compter le nombre de lignes, puis le passer à tqdm comme total
from tqdm import tqdm
num_lines = sum(1 for line in open('myfile.txt','r'))
with open('myfile.txt','r') as f:
for line in tqdm(f, total=num_lines):
print(line)