python-3.x - Python3x 类型错误
问题描述
以下代码适用于 Python 2.7.x,但不适用于 Python 3.x(不应为 str 类字节对象)我错过了什么吗?有没有更好的方法来为 Python3 做到这一点?
def vsend(self, framestring):
totalsent = 0
metasent = 0
length =len(framestring)
lengthstr=str(length).zfill(8)
while metasent < 8 :
sent = self.sock.send(lengthstr[metasent:])
if sent == 0:
raise RuntimeError("Socket connection broken")
metasent += sent
while totalsent < length :
sent = self.sock.send(framestring[totalsent:])
if sent == 0:
raise RuntimeError("Socket connection broken")
totalsent += sent
错误:send = self.sock.send(lengthstr[metasent:]) TypeError: 需要一个类似字节的对象,而不是 'str' [WARN:0] 终止异步回调
解决方案
推荐阅读
- gcloud - 无法在 Windows 10 上安装 gcloud SDK
- unix - 如何在 Google Colab 中安装 Advanced Copy(补丁 GNU coreutils)
- flutter - 在 Raspberry Pi 4 (8 GB) 上安装 Flutter
- flutter - 扑。Dialog vs RawDialogRoute vs DialogRoute vs PopupRoute vs ModalRoute之间的区别?
- c++ - Prettier 没有在 VS 代码中格式化 C++
- javascript - 单次迭代的 Javascript 数据转换
- laravel-8 - Laravel 8 Db 连接问题
- sql - 在 SQLite 中,如何查询两个表中更改的值,并将匹配的值设为 NULL
- cypress - 如果找到零测试文件,有没有办法防止赛普拉斯失败?
- c# - Visual Studio C#:无法运行自动生成的 IntelliTest 代码?