tqdm: 'module' 对象不可调用

tqdm: 'module' object is not callable

我这样导入 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)

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

打电话给你只需要做

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

解决您的问题。或者简单地将您的导入更改为

from tqdm import tqdm

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

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

tqdm 是一个包含函数的模块(如 matplotlib 或 pandas)。其中一个函数称为 tqdm。因此,您必须调用 tqdm.tqdm 来调用模块内的函数而不是模块本身。

你只用了tqdm,其实是tqdm.tqdm 所以,试试

from tqdm import tqdm

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