繁体   English   中英

Python-从ftp服务器下载文件到其他本地名称

[英]Python - download a file from a ftp server to a different local name

我有以下代码:

ftp = ftplib.FTP(ftp_srv)
ftp.login(ftp_usr, ftp_pass)

for item in list:
    f = open(item.localName,"wb")
    ftp.retrbinary("RETR " + item.remoteName, f.write)
ftp.quit()
  • “ localName”是本地计算机上文件的名称,例如:one.txt
  • “ remoteName”是具有完整路径的FTP服务器上文件的名称,例如“ /share/path/to/file.txt”

在perl中,这非常简单:

 $ftp->get($ftp_file, $local_file)

编辑:上面的代码不起作用。 我想将remoteName文件下载到本地计算机上,并在本地计算机上将该文件命名为localName。 我怎么做? :D EDIT2:使其成为列表

谢谢

您的代码的主要问题是:

  • item从未在for循环中实际使用过
  • 没有在任何地方指定localNameremoteName

这段代码可在我的机器上运行:

import ftplib

ftp_srv = 'ftp.example.com'
ftp_usr = 'user'
ftp_pass = 'password'

ftp = ftplib.FTP(ftp_srv)
ftp.login(ftp_usr, ftp_pass)

files = [('remote_file1', 'local_file1'), ('remote_file2', 'local_file2')]

for file_ in files:
    with open(file_[1], "wb") as f:
        ftp.retrbinary("RETR " + file_[0], f.write)
ftp.quit()

每个file_是一个元组 ,其中包含服务器上文件的名称以及希望在本地计算机上拥有的文件名,这些文件名使用方括号表示法进行引用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM