Zhao
Importo tqdm así:
import tqdm
Estoy usando tqdm para mostrar el progreso en mi código python3, pero tengo el siguiente error:
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
Aquí está el código:
path="../dialogs"
dirs = os.listdir(path)
for dir in tqdm(dirs, desc="dirs"):
print(dir)
idjaw
El error dice que está intentando llamar al módulo. No puedes hacer esto.
Para llamar solo tienes que hacer
tqdm.tqdm(dirs, desc="dirs")
para resolver tu problema. O simplemente cambie su importación a
from tqdm import tqdm
Pero lo importante aquí es revisar la documentación de lo que está utilizando y asegurarse de que lo está utilizando correctamente.
-
me hizo reir de mi mismo jajaja
– Ehsan Fati
9 mayo 2022 a las 21:03
solo has usado tqdmen realidad es tqdm.tqdm
Entonces, intenta
from tqdm import tqdm
for dir in tqdm(dirs, desc="dirs"):
print(dir)
tqdm es un módulo (como matplotlib o pandas) que contiene funciones. Una de estas funciones se llama tqdm. Por lo tanto, debe llamar a tqdm.tqdm para llamar a la función dentro del módulo en lugar del propio módulo.
-
La respuesta más útil (dar un pez para hoy vs. explicar cómo pescar para siempre).
– minutos
3 de noviembre de 2020 a las 13:29
from tqdm import tqdm
with open(<your data>, mode="r", encoding='utf-8') as f:
for _, line in enumerate(tqdm(f)):
pass
Posible duplicado de TypeError: el objeto ‘str’ no se puede llamar (Python)
-Morgan Thrapp
5 de septiembre de 2016 a las 3:18
Casi parece que los desarrolladores deberían cometer un error personalizado para esto porque es un error muy común.
-Eric
11 mayo 2021 a las 21:24