我有一个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中运行。
答案 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/\"'"))