如何使用paramiko python从sftp文件解码Zip文件

时间:2019-11-11 13:56:23

标签: python sftp paramiko

我必须阅读服务器中存在的zip,rar和7z文件,并将其自身提取出来以进行进一步处理。我正在使用paramiko和python。我有一个sftp文件,但无法通过Patool库传递它。

remote_file = sftp_client.open(output[i],'rb')
sftp = ssh_client.open_sftp()
file = ftp.file(output[i], "r", -1)
lines = file.readlines()
print(lines)
patoolib.extract_archive(output[i], outdir=inputPath)

output[i]是远程服务器的zip文件路径。

1 个答案:

答案 0 :(得分:0)

您不能使用SFTP协议在远程服务器上解压缩文件。那是不可能的。

您也不能使用客户端库来解压缩非本地文件。您将必须下载存档(保存到临时的本地文件或至少保存到内存),解压缩并上传解压缩的文件。可能会很慢。

最好的方法(如果您具有外壳访问权限)是在远程服务器上执行(使用SSH)任何可用的命令 进行提取。