Я новичок в python, поэтому, вероятно, это то, что я только что пропустил ... Я просто пытаюсь запустить файл, который вызывает другой файл.Объект Python typeerror 'module' не является вызываемым
У меня есть файл, как myfile.py:
#!/usr/bin/python
import another_file
things = ... """ some code """
def mystuff(text, th=things):
return another_def(text, th)
«another_file
» может скомпилировать/запустить прекрасно само по себе и имеет размораживание «another_def
» и переменную «th
» (это только пример названия. ..)
Так я бегу python
из командной строки, а затем попробовать:
>>> import myfile
>>> t = myfile.mystuff('some text')
и я получаю ошибку:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "myfile.py", line 18, in mystuff
return another_def(text, th)
TypeError: 'module' object is not callable
import another_file
Я попытался, даже если он находится в myfile.py
, но это, похоже, не имеет никакого значения.
Если это делает никакой разницы, я пытался:
print myfile
<module 'myfile' from 'myfile.py'>
print myfile.mystuff
<function mystuff at 0x7fcf178d0320>
поэтому я полагаю, что, если он может найти файл и функцию, проблема заключается в том, как он пытается вызвать другой файл .... возможно. Любая помощь ценится!
Вы можете разместить код метода 'myfile.mystuff' который, кажется, проблематично? –
Если вы изменили имена, чтобы защитить невинных, вы затруднили ответ на этот вопрос. Ошибка «Модуль не вызываемый» означает, что вы пытаетесь использовать модуль, как если бы это была функция. – doctorlove
@doctorlove Я изменил имена в надежде сделать проблему проще (не работает, но хорошо) - вы были правы на самом деле, потому что в исходном коде «another_file» и «another_def» имеют одно и то же имя. .. вздох. Спасибо – dgBP