TypeError:“模块”对象不可调用
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
是一个包含class
的模块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 callablePython
告诉我我的代码试图调用无法调用的内容。我的代码试图调用什么?” - “代码正在尝试调用
socket
。应该可以调用!变量socket
是我认为的吗?” - 我应该打印出什么是插座并检查
print socket
以上是 TypeError:“模块”对象不可调用 的全部内容, 来源链接: utcz.com/qa/430941.html