我正在尝试解压缩位于我的ftp服务器中的文件并快速下载。
ftp=ftplib.FTP('myftplink')
ftp.login('username','password')
for filename in files_list:
os.chdir(dir)
local_file=os.path.join(os.getcwd(),filename)
ftp.retrbinary('RETR %s'%filename,open(filename,'wb').write)
with zipfile.ZipFile(filename,'r') as z:
z.extractall()
有了这个,我可以下载zip文件并将其解压缩到文件夹中,但有没有办法解压缩并只下载解压缩文件而不是下载zip文件。
答案 0 :(得分:2)
您通常无法在python或FTP中使用此FTP库来解压缩存档。解压缩必须在客户端或服务器端进行。在评估程序尝试下载的压缩存档的大小后,可以做出明智的决定。
您需要访问权限以及在远程服务器上运行命令的权限,例如使用SSH以在那里解压缩。如果SSH服务器正在远程主机上运行并且您可以访问它,则可以使用fabric解压缩所需文件或在其上运行其他命令,然后通过Fabric::put {{3}下载文件使用您当前使用的库的FTP或FTP。