tqdm:'模块'对象不可调用

时间:2016-09-05 02:31:23

标签: python 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)

4 个答案:

答案 0 :(得分:34)

错误告诉您正在尝试调用该模块。你不能这样做。

打电话给你只需要做

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

解决您的问题。或者只是将导入更改为

from tqdm import tqdm

但是,重要的是要查看您正在使用的文档并确保正确使用它。

答案 1 :(得分:1)

您仅使用了 tqdm ,实际上是 tqdm.tqdm 所以,尝试

from tqdm import tqdm

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

tqdm是包含功能的模块(例如matplotlib或pandas)。这些功能之一称为tqdm。因此,必须调用tqdm.tqdm才能在模块内而不是模块本身内调用函数。