2016-09-05 2 views
5

импортировать tqdm как это: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) 
+0

Ошибка говорит о том, что вы пытаетесь вызвать 'module'. Вы не можете этого сделать. Я ничего не знаю о 'tqdm', но я готов поспорить, если у вас есть' import tqdm', вы, вероятно, просто должны сделать 'tqdm.tqdm (dirs, desc = 'dirs')', чтобы решить вашу проблему , Или просто измените свой импорт на 'tqdm import tqdm'. Но важно здесь пересмотреть документацию по тому, что вы используете, и убедиться, что используете ее правильно. – idjaw

+1

@idjaw Спасибо! Задача решена! – Zhao

+0

Возможный дубликат объекта [TypeError: 'str' не может быть вызван (Python)] (http://stackoverflow.com/questions/6039605/typeerror-str-object-is-not-callable-python) –

ответ

14

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

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

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

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

from tqdm import tqdm 

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