web-dev-qa-db-ja.com

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)
17
Zhao

このエラーは、モジュールを呼び出そうとしていることを示しています。これはできません。

電話をかけるには

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

あなたの問題を解決します。または、インポートを次のように変更します。

from tqdm import tqdm

ただし、ここで重要なことは、使用しているドキュメントを確認し、適切に使用していることを確認することです。

42
idjaw

tqdmは、関数を含むモジュール(matplotlibやpandasなど)です。これらの関数の1つはtqdmと呼ばれます。したがって、モジュール自体ではなくモジュール内の関数を呼び出すには、tqdm.tqdmを呼び出す必要があります。

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