2012-11-16 29 views
4
工作

我一直尝试在Python的“窝”模块,但每当我试图运行此代码:套接字未在Python

import socket 
import sys 

host = '192.168.1.1' 
port = 23 

try: 
     s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
except: 
     print "socket() failed" 
     sys.exit(1) 

然后死去。这里是错误没有除了和尝试:

Traceback (most recent call last): 
    File "C:\Documents and Settings\a\Desktop\socket.py", line 1, in <module> 
    import socket 
    File "C:\Documents and Settings\a\Desktop\socket.py", line 6, in <module> 
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
AttributeError: 'module' object has no attribute 'AF_INET' 

我刚刚开始Python(今天),需要帮助。

我救它作为socket.py也sock.py ...

+0

是的..但它不会像sock.py一样工作。 –

+1

确保你删除了'socket.py'。如果这种情况继续失败,请将堆栈跟踪更新为使用'sock.py'获得的堆栈跟踪。 – phihag

回答

13
import socket 

looks into the current directory before Python's standard library。由于您的文件名为socket.py,因此它本身导入,而不是socket标准库模块。重命名(不要复制,因为这会将原始文件)保存到其他文件,例如my_socket.py

+1

非常感谢:3 –

+0

如果这个或任何其他答案(@Shawn Chin遗憾地删除了他的好帮手)解决了您的问题,请随时[接受它](http://meta.stackexchange.com/questions/5234/how -does接受-的回答工作)。谢谢! – phihag

+1

哈哈谢谢。现在我感到很蠢。我是一个Python新手,虽然经验教训:) +1 –