在 Python 中使用 shutil、urllib 和 contextlib 下载 FTP 个文件并保存

Download FTP Files and saveas using shutil, urllib, and contextlib in Python

在问题here中我们学习了如何在python中使用FTP获取文件。答案是我的代码,也如下:

import shutil
import urllib.request as request
from contextlib import closing

with closing(request.urlopen('ftp://server/path/to/file')) as r:
    with open('file', 'wb') as f:
        shutil.copyfileobj(r, f)

我现在如何在本地保存这些文件?这个 path/to/file 在嵌套目录中有一堆目录和文件。理想情况下,我想下载根目录并包含所有文件和文件夹。

由于我是 Python 和 FTP 的新手,我不能 100% 确定我的问题是否尽可能清楚。请不要犹豫,在评论中要求澄清,谢谢!

你可以试试这个

import ftplib
def getFile(filename,folder,ipaddr,usr,pswd):
        ftp = ftplib.FTP(ipaddr)
        ftp.login(usr,pswd)
        ftp.cwd(folder)
        ftp.retrbinary("RETR " + filename, open(filename, 'wb').write)
        ftp.quit()