0

I have the following source code:

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()

And when I execute it I get the following error:

Traceback (most recent call last):
   File "socket.py", line 1, in 
     import socket
   File "C:\Users\Victor\Desktop\socket.py", line 3, in 
     s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP
AttributeError: 'module' object has no attribute 'AF_INET'

How can I solve this?

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 に答える