玩蛇网提供最新Python编程技术信息以及Python资源下载!

qiniu Python SDK:6.1.4上传文件出类型错误提示,是什么问题

我用qiniu Python SDK:6.1.4 上传文件在执行下面语句

ret, err = qiniu.io.put_file(uptoken, key, localfile)

总是会出现TypeError:

    ...
    File "C:\Python27\lib\httplib.py", line 924, in putheader
      str = '%s: %s' % (header, '\r\n\t'.join(values))
    TypeError: sequence item 0: expected string, long found

我修改了qiniu-6.1.4 中qiniu/rpc.py

32 self.set_header("Content-Length", content_length)
改为:
32 self.set_header("Content-Length", str(content_length))
暂时解决了上传问题,我想这个SDK应该没问题,不过至于我哪里出问题了,那就等后来的告诉在下了

这。。。

str = '%s: %s' % (header, '\r\n\t'.join(values))

居然使用str关键字作为变量名,太奇怪了。

我这边能找到的
python 2.7.3 2.7.5 2.7.6中:

def putheader(self, header, *values):
    """Send a request header line to the server.

    For example: h.putheader('Accept', 'text/html')
    """
    if self.__state != _CS_REQ_STARTED:
        raise CannotSendHeader()

    hdr = '%s: %s' % (header, '\r\n\t'.join([str(v) for v in values]))
    self._output(hdr)

putheader都已经是这个代码了。

python TypeError in putheader 做关键字google查了一下,类似的错误主要出现在10-11年,也许是一个比较早的版本?试着升级一下python看。

UPDATE

看了一下python提供的源码包,
2.7.0中的写法确实是会报错的那种
2010-9-27发布的2.7.1就已经进行了修正,升级一下python吧。

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19765.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月23日 - 16时47分30秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules