代码运行正常,现在显示错误
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'
`
答案 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
重命名为其他名称,您的代码将起作用。