Python-typeerror - 'Modul' - Objekt ist nicht aufrufbar

Ich bin neu in python, also das ist wahrscheinlich, was habe ich nur verpasst...
Ich bin nur versuchen, führen Sie eine Datei, die Anrufe einer anderen Datei.

Habe ich eine Datei wie myfile.py:

#!/usr/bin/python

import another_file

things = ... """ some code """

def mystuff(text, th=things):
    return another_def(text, th)

'another_file' kompilieren/laufen problemlos von selbst und hat die def 'another_def' und die variable 'th' (Dies sind nur Beispiele für Namen...)

So ich python von der Befehlszeile aus, und versuchen Sie dann:

>>> import myfile
>>> t = myfile.mystuff('some text')

und ich bekomme die Fehlermeldung:

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

Versuchte ich import another_file obwohl es in myfile.py aber das scheint nicht zu keinen Unterschied machen.

Ob es einen Unterschied macht, habe ich versucht:

print myfile
<module 'myfile' from 'myfile.py'>
print myfile.mystuff
<function mystuff at 0x7fcf178d0320>

also gehe ich davon aus, dass, wenn Sie es finden können die Datei und der Funktion, das problem ist, wie es versucht, rufen Sie die andere Datei.... vielleicht. Jede Hilfe zu schätzen!

  • Kannst du die Methode code myfile.mystuff scheint problematisch zu sein?
  • Wenn Sie geändert haben den Namen, die unschuldigen zu schützen, die Sie gemacht haben diese Frage schwer zu beantworten. Ein "Modul nicht aufrufbar" Fehler bedeutet, dass Sie versuchen, ein Modul verwenden, als wäre es eine Funktion.
  • Ich änderte den Namen in der Hoffnung, dass das problem einfacher erscheinen (hat nicht funktioniert, aber naja) - Sie waren Recht eigentlich, denn in den originalen code der "another_file' und 'another_def' den gleichen Namen haben.... seufz. Dank
InformationsquelleAutor dgBP | 2013-11-01
Schreibe einen Kommentar