Python sendto()不适用于3.1(适用于2.6)

2024-09-26 22:09:55 发布

您现在位置:Python中文网/ 问答频道 /正文

出于某种原因,下面的代码在运行python 2.6的ubuntu机器上运行得很好,并且在运行python 3.1的windows xp机器上返回一个错误

from socket import socket, AF_INET, SOCK_DGRAM
data = 'UDP Test Data'
port = 12345
hostname = '192.168.0.1'
udp = socket(AF_INET,SOCK_DGRAM)
udp.sendto(data, (hostname, port))

下面是Python3.1抛出的错误:

Traceback (most recent call last):
  File "sendto.py", line 6, in <module>
    udp.sendto(data, (hostname, port))
TypeError: sendto() takes exactly 3 arguments (2 given)

我查阅了Python3.1的文档,sendto()只需要两个参数。有什么可能导致这种情况的想法吗?


Tags: 代码机器dataportubuntuwindows错误socket

热门问题