AttributeError:模块“套接字”没有属性“ AF_INET”

时间:2018-10-15 07:40:46

标签: python sockets

代码运行正常,现在显示错误

AttributeError:模块'socket'没有属性'AF_INET'

以下代码:模块名称不是socket.py

import socket
client= socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host='192.168.xx.x'
port=4196
client.connect((host, port))
print("connected to IP", host,"and port", port) 

错误:

`Traceback (most recent call last):
File "C:\Users\User\eclipse-workspace\New\soc.py", line 1, in <module>
   import socket
File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 2, in <module>
    client=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
AttributeError: module 'socket' has no attribute 'AF_INET'

`

3 个答案:

答案 0 :(得分:2)

通过堆栈跟踪,现在很明显,您已经用自己的代码覆盖了标准库中的socket.py,因为错误发生在库路径C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\socket.py中,并且导致错误的代码是显然是你的。

此时您应该重新安装Python。或者,如果您确定这是唯一损坏的文件,则可以尝试用源代码管理here中的文件替换socket.py

答案 1 :(得分:0)

代替

client= socket.socket(socket.AF_INET, socket.SOCK_STREAM)

client= socket(socket.AF_INET, socket.SOCK_STREAM)

答案 2 :(得分:0)

您的项目目录中可能会有一个名为socket.py的模块,在这种情况下,执行import socket时它将优先于标准模块。将项目目录中的socket.py重命名为其他名称,您的代码将起作用。