python3 TypeError: a bytes-like object is required, not 'str'
2024-10-14 07:31:04
在学习《Python web开发学习实录》时,
例11-1:
# !/usr/bin/env python
# coding=utf-8
import socket
sock = socket.socket()
sock.bind(('localhost', 8080))
sock.listen(5)
while True:
connection,address = sock.accept()
try:
connection.settimeout(5)
buf = connection.recv(1024)
if buf == '1':
connection.send("Welcome to server!")
else:
connection.send("please go out!")
except socket.timeout:
print('time out')
connection.close()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
编写web服务器报TypeError: a bytes-like object is required, not ‘str’错误,后来查到是因为python2和python3的版本有些差异,而python3最重要的新特性也是对文本和二进制数据做了更清晰的区分。文本用unicode编码,为str类型,二进制数据则为bytes类型。
python有两种类型转换的函数encode(),decode()
encode(编码),可以将str类型编码为bytes。
decode(译码),可以将bytes类型转换为str类型。
知道了上面两点要解决这个错误也就不麻烦了,
ypeError: a bytes-like object is required, not ‘str’
错误原因是TypeError,因为要求bytes类型却给了str类型,那么只需要在send函数参数中加上encode()方法就行。
connection.send("please Go out!".encode())
最新文章
- 调度系统任务创建---Git部署项目(一)
- ios中tableSection的颜色
- html5压缩图片并上传
- HDU 5682/BestCoder Round #83 1003 zxa and leaf 二分+树
- <;五>; jQuery 效果
- BZOJ 1006 神奇的国度
- jquery验证表单中的单选与多选
- NYOJ-102 次方求模
- JavaScript基础——变量、语句、注释
- android+eclipse+mysql+servlet(Android与mysql建立链接)
- 阿里云学习之IOT物联网套件(客户端与服务端的后台数据传输)
- Centos 7 安装 ifconfig 管理命令
- (转载)Python之道1-环境搭建与pycharm的配置django安装及MySQL数据库配置
- window 服务器的Tomcat 控制台日志保存到日志文件.
- VMware vCenter Server 6.5配置群集功能
- python - class内置方法 doc/module/del(析构方法)/cal 方法
- Visual Studio编译时报错“函数名:重定义;不同的基类型”
- vuesheng生命周期
- erlang 安装
- 转: linux进程地址图解