python3:TypeError:需要一个类似字节的对象,而不是'str'

时间:2019-09-29 11:25:46

标签: python-3.x

我有一个python脚本。它在python2中可以正常运行,但是当我在python3中运行时,出现此错误:

name = r.content.translate(None, "\n \t/\"'")
TypeError: a bytes-like object is required, not 'str'

分配r的行是这样的:

r = requests.get('10.10.10.10/test_' + name, verify=True)

如何解决此问题? 我需要我的脚本才能在python3中运行。

2 个答案:

答案 0 :(得分:1)

您需要使用

name = (r.content.translate(None, "\n \t/\"'".encode())).decode

答案 1 :(得分:0)

不确定什么翻译功能需要。您必须检查文档。 但是查看错误可能会导致以下错误修复。

name = r.content.translate(None, b"\n \t/\"'")
这样,

name的类型为bytes。因此您需要将其转换回类型str

因此您可以尝试

name = str(r.content.translate(None, b"\n \t/\"'"))