首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >节俭python3.4TypeError:字符串参数被期望,得到‘字节’

问节俭python3.4TypeError:字符串参数被期望,得到‘字节’
EN

Stack Overflow用户
提问于 2015-08-07 03:39:56
回答 1查看 2.4K关注 0票数 4

我正在使用python3.4试用阿帕奇,因为它在build目录下有lib.linux-x86_64-3.4。但我一直收到这条错误信息

代码语言:javascript
复制
  File "/home/qunzi/Downloads/thrift-0.9.2/lib/py/build/lib.linux-x86_64-3.4/thrift/transport/TTransport.py", line 163, in write
self.__wbuf.write(buf)
TypeError: string argument expected, got 'bytes'

有人知道这是怎么回事,可能有办法吗?

下面的是相关代码

代码语言:javascript
复制
socket = TSocket.TSocket('localhost', 9090)
transport = TTransport.TBufferedTransport(socket)
protocol = TBinaryProtocol.TBinaryProtocol(transport)

client = Algo.Client(protocol)
transport.open()
ping_req = PingRequest()
ping_resp = client.ping(ping_req)

整个回溯:

代码语言:javascript
复制
  File "py3client.py", line 36, in <module>
    ping_resp = client.ping(ping_req)
  File "/home/qunzi/Projects/test/sample_Test/py3.4_thrift/ib/Algo.py", line 66, in ping
    self.send_ping(request)
  File "/home/qunzi/Projects/test/sample_Test/py3.4_thrift/ib/Algo.py", line 70, in send_ping
    self._oprot.writeMessageBegin('ping', TMessageType.CALL, self._seqid)
  File "/home/qunzi/Downloads/thrift-0.9.2/lib/py/build/lib.linux-x86_64-3.4/thrift/protocol/TBinaryProtocol.py", line 46, in writeMessageBegin
    self.writeI32(TBinaryProtocol.VERSION_1 | type)
  File "/home/qunzi/Downloads/thrift-0.9.2/lib/py/build/lib.linux-x86_64-3.4/thrift/protocol/TBinaryProtocol.py", line 111, in writeI32
    self.trans.write(buff)
  File "/home/qunzi/Downloads/thrift-0.9.2/lib/py/build/lib.linux-x86_64-3.4/thrift/transport/TTransport.py", line 163, in write
    self.__wbuf.write(buf)
TypeError: string argument expected, got 'bytes'
EN

回答 1

Stack Overflow用户

发布于 2016-10-03 11:54:09

虽然这个问题已经死了,但我似乎得到了一个答案:)

节俭的当前python生成器(截止为0.9.3)生成特定于python2的代码。至少我刚刚切换了齿轮和代码,这给了我同样的错误,现在工作就像一个魅力。

此错误是由(隐式)处理库中所有类似字符串的对象(如字节对象)引起的。然而,在Python3中,StringIO类需要面向字符的字符串(str),而那些面向字节的字符串会导致异常。

一个人应该将一个bug提交到Python2跟踪器,现在他/她应该使用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31869321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档