Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中导入套接字时,为什么它会跳过socket.bind?_Python_Sockets - Fatal编程技术网

在python中导入套接字时,为什么它会跳过socket.bind?

在python中导入套接字时,为什么它会跳过socket.bind?,python,sockets,Python,Sockets,我认为除了bind之外,其他方法都在那里。I类型: import socket socket.bind 在python命令提示符中,获取“AttributeError:'module'对象没有属性'bind'” 如果我这样做: from socket import bind 我得到“导入错误:无法导入名称绑定” 否则,dir(socket)返回297,其他一切似乎都正常工作。就像我有socket.socket、socket.setsockopt等一样,绑定并不存在 我在Mint 16运行py

我认为除了bind之外,其他方法都在那里。I类型:

import socket
socket.bind
在python命令提示符中,获取“AttributeError:'module'对象没有属性'bind'”

如果我这样做:

from socket import bind
我得到“导入错误:无法导入名称绑定”

否则,dir(socket)返回297,其他一切似乎都正常工作。就像我有socket.socket、socket.setsockopt等一样,绑定并不存在

我在Mint 16运行python 2.7.5+。同样的情况也发生在Python3.3.2+和同一台机器上Ubuntu12.04虚拟机上的Python2.7.3中


知道发生了什么吗?

我可能错了,因为我没有像您可能那样经常使用
socket
模块,但似乎
bind
是模块
socket
中类
socket
的函数。因此,要访问它,您必须执行以下操作:

>>> socket.socket.bind
<unbound method _socketobject.bind>
>>socket.socket.bind

bind
套接字
对象的方法,而不是模块

以下是创建
socket
对象后使用
bind
的示例:

摘自


bind
是socket.socket的一种方法,而不是模块中的函数

s = socket.socket(...)
s.bind()
因此,只有创建套接字后,才能将其绑定到地址

参考文献:


希望这有帮助

实际上,它是一个实例方法。因此,如果没有套接字对象,它实际上是无用的。谢谢!那是我的问题。值得一提的是,这一切都源于一个输入错误,我将套接字对象称为“socket”,而不是它的实际名称。我想我今天学到了一些关于python如何组织事物名称的知识。@user3217070,啊,很像ol'
list=[1,2,3]
snafu!
s = socket.socket(...)
s.bind()