gpt4 book ai didi

Python错误: Argument 1 must be buffer or bytes not str

转载 作者:行者123 更新时间:2023-11-30 23:54:29 25 4
gpt4 key购买 nike

该程序很简单,它的目的是连接到 IRC 房间。问题是,当我尝试将我的机器人连接到它时,它给我标题中的错误。我不确定他们想要什么而不是字符串。我不确定缓冲区或字节指的是什么。其他人已经让这个脚本工作了,但它对我不起作用。注意:这不是恶意的 irc 机器人或其他什么。这只是一些基本网络的练习。

import socket

network = 'irc.rizon.net'
port = 6667
irc = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
irc.connect((network,port))

irc.send("NICK PyBot\r\n")
irc.send("USER Pybot Pybot Pybot : Python IRC\r\n")
irc.send("JOIN #pychat\r\n")
irc.send("PART #pychat\r\n")
irc.send("QUITE\r\n")
irc.close()

最佳答案

您使用的是 Python 3,而脚本是为 Python 2 编写的。快速解决方法是通过在字符串文字前添加 b 使字符串文字成为字节文字:

irc.sendall(b"NICK PyBot\r\n")
irc.sendall(b"USER Pybot Pybot Pybot : Python IRC\r\n")
irc.sendall(b"JOIN #pychat\r\n")
irc.sendall(b"PART #pychat\r\n")
irc.sendall(b"QUITE\r\n")

在Python 3中,str是一个字符序列。 bytes 是一个字节序列。

编辑:我认为 Jean 指的是 socket.send 不能保证发送所有字节这一事实。解决这个问题的快速方法是使用 sendall

关于Python错误: Argument 1 must be buffer or bytes not str,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5137433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com