【问题标题】:Unzip file and download from ftp解压文件并从ftp下载
【发布时间】:2016-05-03 17:22:22
【问题描述】:

我正在尝试解压缩位于我的 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 文件。

【问题讨论】:

  • FTP 不支持服务器端的“解压缩”。您可以下载压缩文件并上传解压缩文件,但这有什么意义呢?

标签: python python-2.7 ftplib


【解决方案1】:

您将无法在 python 或一般 FTP 中使用此 FTP 库来解压缩存档。解压缩必须在客户端或服务器端进行。在评估您的程序尝试下载的压缩存档的大小之后,可以在哪里做出明智的决定。

您需要访问权限和特权才能在远程服务器上运行命令,例如使用SSH 以便在那里解压缩。如果远程主机上正在运行 SSH 服务器并且您可以访问它,您可以使用 fabric 解压缩所需的文件或在其上运行其他命令,然后再通过 Fabric::putSCP 或 FTP 使用您当前正在使用的库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    • 2021-03-07
    • 2017-07-29
    • 2016-01-15
    • 1970-01-01
    • 2021-03-03
    相关资源
    最近更新 更多