TypeError: 'module' object is not callable
File "C:\Users\Administrator\Documents\Mibot\oops\blinkserv.py", line 82, in __init__self.serv = socket(AF_INET,SOCK_STREAM)
TypeError: 'module' object is not callable
为什么我收到此错误?我很困惑。
socket是一个包含socket类的模块。
你需要做socket.socket(...)或from socket import socket:
>>> import socket
>>> socket
<module 'socket' from 'C:\Python27\lib\socket.pyc'>
>>> socket.socket
<class 'socket._socketobject'>
>>>
>>> from socket import socket
>>> socket
<class 'socket._socketobject'>
请注意,这里的错误很容易理解:如果module object is not callable,您可能正在调用模块对象!什么是模块对象?这是导入模块时获得的类型。
添加到__init__.py,例如:
from YourClass import YourClass
然后,当您将其导入另一个脚本时,您将准备好类的实例:
from YourClassParentDir import YourClass
假设YourClass.py的内容是:
class YourClass:
# ......
如果您使用:
from YourClassParentDir import YourClass# means YourClass.py
通过这种方式,我得到了TypeError:如果你试图使用,那么'module'对象是不可调用的YourClass()。
但是,如果您使用:
from YourClassParentDir.YourClass import YourClass # means Class YourClass
或使用YourClass.YourClass()就不会报错
是滴!呐
页:
[1]