Python &引用;属性错误:';字节';对象没有属性';编码'&引用;

Python &引用;属性错误:';字节';对象没有属性';编码'&引用;,python,python-3.x,Python,Python 3.x,我在尝试运行代码时遇到以下错误。以下是一个片段: import time; from socket import* from pip._vendor.distlib.compat import raw_input pingCount = 0 minTime = 0 maxTime = 0 counter = 0 totalTime = 0 message = 'test' packetsLost = 0 #Sends 10 pingcounts as setup_testing_defaul

我在尝试运行代码时遇到以下错误。以下是一个片段:

import time;
from socket import*
from pip._vendor.distlib.compat import raw_input

pingCount = 0
minTime = 0
maxTime = 0
counter = 0
totalTime = 0
message = 'test'
packetsLost = 0

#Sends 10 pingcounts as setup_testing_defaults
while pingCount < 11:
counter +=1

#Creates a UDP Socket
clientSocket = socket(AF_INET, SOCK_DGRAM)

#Sets timeout value for each one to 1 second
#The timeout function determines how long till it expires
clientSocket.settimeout(1)

#Creating the paramaters for sendTo
#SendTo sends the ping to the socket
clientSocket.sendto(message.encode("utf-8"),('127.0.0.1',12000))    

#time() yields the current time in milliseconds
start = time.time()

#Trying to print data received from the server
try: #etc...
导入时间;
从套接字导入*
从pip.\u vendor.distlib.compat导入原始输入
pingCount=0
minTime=0
最大时间=0
计数器=0
总时间=0
消息='test'
packetsLost=0
#发送10个ping计数作为设置\测试\默认值
当pingCount<11时:
计数器+=1
#创建UDP套接字
clientSocket=socket(AF_INET,SOCK_DGRAM)
#将每秒钟的超时值设置为1秒
#timeout函数确定它过期的时间
clientSocket.settimeout(1)
#为sendTo创建参数
#SendTo将ping发送到套接字
clientSocket.sendto(message.encode(“utf-8”),('127.0.0.1',12000))
#time()以毫秒为单位生成当前时间
开始=时间。时间()
#正在尝试打印从服务器接收的数据
试试看:#等等。。。

代码运行了几次迭代(通常最多3个,在发生上述错误之前。我不太确定发生了什么,所以任何建议都会很棒,谢谢!

可能是代码中稍后的某个东西将
消息
重新分配给
字节
对象-也许您正在重新分配从
客户端套接字收到的数据>?如果是这样,则从
clientSocket
返回的数据是
bytes
对象,需要
decode
d,这与使用
message.encode()
通过客户端发送文本数据的方式类似


关于IO通信中
字节
对象的用法有一个很好的解释-特别是如果你习惯了python2.x的工作方式-

在while循环的第二次或第三次迭代中,
消息
可能是
字节
类型。当然,它没有编码方法。这段代码对我来说是有效的可能是try?投票结束后的代码根据相关代码未显示错误的报告进行关闭。此外,您还有缩进问题;
while
命令后面的代码需要另一个缩进级别才能实际包含在
while
循环中。无需修改,您的代码将第a行出现语法错误。需要注意的是:您的原始输入似乎错误(例如:从pip导入?)。如果您使用的是Python 3,则应使用输入。此外,请包含实际的堆栈跟踪,仅您的示例部分代码不足以对其进行诊断。