首页 > 解决方案 > 在 Python 中使用 shutil、urllib 和 contextlib 下载 FTP 文件和另存为

问题描述

这里的问题中,我们学习如何在 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% 确定我的问题是否尽可能清楚。请不要犹豫,在评论中要求澄清,谢谢!

标签: pythonpython-3.xftpshutil

解决方案


你可以试试这个

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()

推荐阅读