通过FTP下载zip文件并使用Python提取内存中的文件

Sub*_*ker 1 python ftp zip

我正在尝试通过ftp下载一个zip文件,但随后将其解压缩到文件中却没有实际保存该zip文件。知道我该怎么做吗?

fur*_*ins 5

使用zipfile.open

它从存档中打开一个成员到内存。由于ZipFile接受任何类似文件的对象作为参数,因此您可以从许多来源(例如HTTP / FTP服务器)获取它

import urllib
import io
from zipfile import ZipFile

mysock = urllib.urlopen('ftp://ftp.yourhost.com/spam.zip')  // check urllib for parameters
memfile = io.BytesIO(mysock.read())
with ZipFile(memfile, 'r') as myzip:
    f = myzip.open('eggs.txt')
    content = f.read()  // or other file-like commands
Run Code Online (Sandbox Code Playgroud)

还要检查Python内存zip库