web-dev-qa-db-fra.com

tqdm: l'objet 'module' n'est pas appelable

J'importe tqdm comme ceci:

import tqdm

J'utilise tqdm pour montrer la progression dans mon code python3, mais j'ai l'erreur suivante:

Traceback (most recent call last):
  File "process.py", line 15, in <module>
    for dir in tqdm(os.listdir(path), desc = 'dirs'):
TypeError: 'module' object is not callable

Voici le code:

path = '../dialogs'
dirs = os.listdir(path)

for dir in tqdm(dirs, desc = 'dirs'):
    print(dir)
17
Zhao

L'erreur indique que vous essayez d'appeler le module. Tu ne peux pas faire ça.

Pour vous appeler il suffit de faire

tqdm.tqdm(dirs, desc='dirs') 

pour résoudre votre problème. Ou changez simplement votre importation en

from tqdm import tqdm

Mais, l'important ici est d'examiner la documentation de ce que vous utilisez et de vous assurer que vous l'utilisez correctement.

42
idjaw

tqdm est un module (comme matplotlib ou pandas) qui contient des fonctions. L'une de ces fonctions est appelée tqdm. Par conséquent, vous devez appeler tqdm.tqdm pour appeler la fonction dans le module au lieu du module lui-même.

0
Jake
from tqdm import tqdm
with open(<your data>, mode='r', encoding='utf-8') as f:
    for _, line in enumerate(tqdm(f)):
       pass
0
Yap