从Python2转换到Python3:TypeError:需要一个类似字节的对象

2024-09-30 04:33:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到了下面的python2x代码。我把import urllib2改为from urllib.request import urlopen,把它转换成python3x。我去掉了urllib2引用并运行了程序。已检索url结尾处的文档,但程序在指示的行失败,引发错误

TypeError: a bytes-like object is required, not 'str'

文档如下所示:b'9306112 9210128 9202065 \r\n9306114 9204065 9301122 \r\n9306115 \r\n9306116 \r\n9306117 \r\n9306118 \r\n9306119

我试着在那一行和上面的那一行使用返回值(例如,转换成字节,对不同的值进行拆分),但是没有任何效果。有什么想法吗?在

^{pr2}$

Tags: 代码from文档import程序urlrequest错误
2条回答

只能将likes与likes拆分-如果您希望使用\n拆分,同时仍将graph_text保持为bytes,请将拆分也定义为bytes序列:

graph_lines = graph_text.split(b'\n')

否则,如果您知道您的graph_text数据是用什么编解码器编码的,请先用graph_text.decode("<codec>")将其解码为str,然后继续将其视为str。在

为了将bytes对象视为字符串,需要先对其进行解码。例如:

graph_text = graph_file.read().decode("utf-8")

如果编码是UTF-8。这将允许您将其视为字符串而不是字节序列。在

相关问题 更多 >

    热门问题