当前位置:  开发笔记 > 编程语言 > 正文

如何使用Python通过HTTP读取远程Zip存档中的选定文件?

如何解决《如何使用Python通过HTTP读取远程Zip存档中的选定文件?》经验,为你挑选了1个好方法。

我需要使用Python从远程zip存档中读取与文件名匹配的所选文件.我不想将完整的zip保存到临时文件中(它不是那么大,所以我可以处理内存中的所有内容).

我已经编写了代码并且它可以工作,我自己也在回答这个问题,所以我可以在以后搜索它.但由于有证据表明我是Stackoverflow的笨蛋参与者之一,我相信还有改进的余地.



1> Marcel Levy..:

这是我如何做到的(抓取所有以".ranks"结尾的文件):

import urllib2, cStringIO, zipfile

try:
    remotezip = urllib2.urlopen(url)
    zipinmemory = cStringIO.StringIO(remotezip.read())
    zip = zipfile.ZipFile(zipinmemory)
    for fn in zip.namelist():
        if fn.endswith(".ranks"):
            ranks_data = zip.read(fn)
            for line in ranks_data.split("\n"):
                # do something with each line
except urllib2.HTTPError:
    # handle exception

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有