2012-11-26 24 views
-1
from socket import socket, AF_INET, SOCK_DGRAM 
import struct 
import sys 
import time 

TIME1970 = 2208988800L 

client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
data = '\x1b' + 47 * '\0' 
client.sendto(data, (sys.argv[1], 123)) 
data, address = client.recvfrom(1024) 
if data: 
    print 'Response received from:', address 
    t = struct.unpack('!12I', data)[10] 
    t = TIME1970 
    print '\tTime=%s' % time.ctime(t) 

當我嘗試執行這個腳本,我發現了以下錯誤;請幫我這個:AttributeError的套接字

File "C:\Users\Wolverine\Desktop\Apcog-python prog\test.py", line 8, in ? 
    client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
AttributeError: socket 
Traceback (innermost last): 
    File "C:\Program Files (x86)\Python\Pythonwin\pywin\framework\scriptutils.py", line 301, in RunScript 
    exec codeObject in __main__.__dict__ 
    File "C:\Users\Wolverine\Desktop\Apcog-python prog\test.py", line 8, in ? 
    client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
AttributeError: socket 

回答

1

你進口socketfrom socket import socket,與該模塊的其它元素結合在一起,所以你不需要使用模塊名來引用它:

client = socket(AF_INET, SOCK_DGRAM) 

或者,將導入行更改爲:

import socket 

並繼續通過屬性訪問引用來自該模塊的項目。