【问题标题】:AttributeError on socket套接字上的 AttributeError
【发布时间】:2012-11-26 10:07:47
【问题描述】:
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)

当我尝试执行此脚本时,出现以下错误;请帮我解决这个问题:

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

【问题讨论】:

    标签: python python-3.x python-2.7


    【解决方案1】:

    您将socket 与该模块中的其他元素一起导入为from socket import socket,因此您无需使用模块名称来引用它:

    client = socket(AF_INET, SOCK_DGRAM)
    

    或者,将导入行更改为:

    import socket
    

    并通过属性访问继续引用该模块中的项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-10
      • 2013-01-21
      • 2014-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多