Tqdm: объект 'module' не может быть вызван

Я импортирую tqdm как это:

import tqdm

Я использую tqdm, чтобы показать прогресс в моем коде python3, но у меня есть следующая ошибка:

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

Вот код:

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

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

Ответ 1

Ошибка говорит о том, что вы пытаетесь вызвать модуль. Вы не можете этого сделать.

Чтобы позвонить вам просто нужно сделать

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

чтобы решить вашу проблему. Или просто измените свой импорт на

from tqdm import tqdm

Но главное здесь - просмотреть документацию по тому, что вы используете, и убедиться, что вы правильно ее используете.

Ответ 2

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

Ответ 3

tqdm - это модуль (например, matplotlib или pandas), который содержит функции. Одна из этих функций называется tqdm. Следовательно, вы должны вызвать tqdm.tqdm для вызова функции внутри модуля, а не самого модуля.