我找到this snippet,它似乎可以完成这项工作,但我无法理解为什么它会使用StringIO。 f
已经不是类似文件的对象吗?有什么需要阅读它,然后让它看起来像一个文件,只是再次阅读?我已经测试了它(好吧,它的稍微修改过的版本),没有StringIO它就无法工作。
答案 0 :(得分:1)
似乎是python标准库中的一个缺陷,它在Python 3.2中得到修复 见http://www.enricozini.org/2011/cazzeggio/python-gzip/
urllib
和urllib2
文件对象未提供gzip请求的方法tell()
。
答案 1 :(得分:1)
gunzip代码可能需要一个类似文件的对象,该对象具有seek
方法,而HTTP库不太可能提供该方法。什么“不起作用”是什么意思?错误信息?
如果效率是您真正关心的问题,请稍微修改代码,使其使用cStringIO,而不是StringIO。
答案 2 :(得分:0)
我阅读代码相关部分的方式是:
read
方法)