async def handle_req(self, reader, writer): await reader.readline() writer.write(b"$3\r\nbaz\r\n") await writer.drain() writer.write_eof() writer.close() await writer.wait_closed()通常,您不会在每次请求后关闭套接字。以下示例仅用于说明目的,旨在表明套接字不需要关闭。当然,您总是会读取一行,然后根据 Redis 协议解释数据。我们知道这里发送了两个 GET 命令(每行 5 行,包含 2 个元素的数组的指示符,字符串的指示符,字符串值“GET”,以及字符串指示符和相应的值,即键)async def handle_req(self, reader, writer): print("start") for i in range(0, 2): for x in range(0, 5): print(await reader.readline()) writer.write(b"$3\r\nbaz\r\n") await writer.drain() writer.write_eof() writer.close() await writer.wait_closed()在客户端发送是这样完成的:print(r.get("foo"))print(r.get("bar"))time.sleep(1)最后一次time.sleep是为了确保客户端不会立即退出。控制台上的输出是:startb'*2\r\n'b'$3\r\n'b'GET\r\n'b'$3\r\n'b'foo\r\n'b'*2\r\n'b'$3\r\n'b'GET\r\n'b'$3\r\n'b'bar\r\n'请注意,start仅输出一次,这表明我们可以处理多个请求,而不必立即关闭套接字。
1 回答
慕少森
TA贡献2019条经验 获得超9个赞
该代码运行良好。看来您的第一行(对应于标题)的第一列为空,这就是为什么在开头添加“,”的原因。也许您需要使用“data_xls.to_csv(csv_file_name,header = True,encoding = 'utf8',index = False”)参数来忽略行号。
添加回答
举报
0/150
提交
取消