TypeError:'module'对象不可调用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为什么我收到此错误?我糊涂了。你需要知道什么来回答我的问题?
3 回答
牛魔王的故事
TA贡献1830条经验 获得超3个赞
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
,您可能正在调用模块对象!什么是模块对象?这是导入模块时获得的类型。
但是,即使你不理解(这很好,它常常令人困惑的是类,模块,函数等都只是像其他一样的对象),有一个非常简单的方法来开始调试:
“嗯,
module object is not callable
这听起来像是在试着打电话给你打不开的东西。我想知道我打算打电话给谁?”“哦,我正在打电话
socket
。那应该是可以调用的!我想知道变量socket
是否是我认为的变量?”print socket
添加回答
举报
0/150
提交
取消