我必须阅读服务器中存在的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文件路径。
答案 0 :(得分:0)
您不能使用SFTP协议在远程服务器上解压缩文件。那是不可能的。
您也不能使用客户端库来解压缩非本地文件。您将必须下载存档(保存到临时的本地文件或至少保存到内存),解压缩并上传解压缩的文件。可能会很慢。
最好的方法(如果您具有外壳访问权限)是在远程服务器上执行(使用SSH)任何可用的命令 进行提取。