0

我有以下源代码:

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP
s.bind(('', 9800))
try:
    while True:
        data, addr = s.recvfrom(256) #buffer size is 256 bytes
        print data, adrr
finally:
    s.close()

当我执行它时,我收到以下错误:

回溯(最近一次通话最后):
   文件“socket.py”,第 1 行,在
     导入套接字
   文件“C:\Users\Victor\Desktop\socket.py”,第 3 行,在
     s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP
AttributeError:“模块”对象没有属性“AF_INET”

我该如何解决这个问题?

4

3 回答 3

7

更改脚本的名称。它正在尝试导入自己。

于 2013-02-12T12:44:07.220 回答
1

您与 stdlib模块socket.py发生冲突。socket你应该重命名它。

于 2013-02-12T12:45:11.800 回答
1

您不能将 Python 源文件命名为与要导入的模块相同的名称。Python 解释器将导入您自己的源文件。

于 2013-02-12T12:45:33.007 回答