切换到Python3后如何处理TypeError

时间:2019-07-04 15:09:50

标签: python python-3.x testrail

最近,我们将代码从python 2.7迁移到了Python3.6。在此之后,测试导轨api无法正常工作。我尝试转换为Unicode,b'get_projectxx',但似乎没有任何效果。

 self.project_name = self.client.send_get('get_project/%s' % self.project_id)['name']

在这里,我以20岁的身分通过self.project_id

我一直都遇到错误:

Exception: a bytes-like object is required, not 'str' <class 'TypeError'>

任何想法如何解决此问题?任何帮助表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:1)

听起来send_get是引发错误的方法(它期望可以按原样发送一系列字节,而不是必须编码的字符串)。使用bytes文字而不是str文字:

 self.project_name = self.client.send_get(b'get_project/%s' % self.project_id)['name']
                                          ^